Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Objective CÓïÑÔ¡ªÌØÓÐÓï·¨¼°Éè¼ÆÄ£Ê½
 
×÷Õߣº¼«¿ÍJames À´Ô´£ºCSDN ·¢²¼ÓÚ£º2015-9-25
  3782  次浏览      27
 

±¾·ÖÏíÊÇÃæÏòÓÐÒâÏò´ÓÊÂiOS¿ª·¢µÄ»ï°é¼°Æ»¹û²úÆ·µÄ·¢ÉÕÓÑ£¬Òà»òÊÇÒѾ­´ÓÊÂÁËiOSµÄ¿ª·¢Õߣ¬Ïë½øÒ»²½ÌáÉýÕß¡£Èç¹ûÄú¶ÔiOS¿ª·¢Óм«¸ßµÄÐËȤ£¬¿ÉÒÔÓëÎÒÒ»Æð̽ÌÖiOS¿ª·¢£¬Ò»Æðѧϰ£¬¹²Í¬½ø²½¡£Èç¹ûÄúÊÇÁã»ù´¡£¬½¨ÒéÄúÏÈ·­ÔÄÎÒ֮ǰ·ÖÏíµÄiOS¿ª·¢·Ö·ÖÖӸ㶨CÓïÑÔϵÁУ¬È»ºóÔÚ¿ªÊ¼Objective CÓïÑÔµÄѧϰ£¬Èç¹ûÄúÓöµ½ÎÊÌâÒ²¿ÉÒÔÓëÎÒ̽ÌÖ£¬ÁíÍ⽫ÎÞ³¥·ÖÏí×Ô¼ºÕûÀí³öÀ´µÄ´ó¸Å400G iOSѧϰÊÓÆµ¼°Ñ§Ï°×ÊÁÏ£¬¶¼ÊǸɻõŶ£¡

Ò»¡¢category ·ÖÀà

ÔÚC++ÖÐÓÐÇ¿´óµÄ¶àÖØ¼Ì³Ð,¶øÔÚocÖз½·¨¶¼Êǵ¥¼Ì³ÐµÄ,ΪÁËÄ£¿é»¯¿ª·¢,±ãÓÚÍŶӿª·¢,ocÖÐÓÐÆäËûÓïÑÔËùûÓеÄcategory£¨·ÖÀ࣬ÀàÄ¿£¬Àà±ð£©ºÍclass Exetension£¨ÀàÀ©Õ¹£©µÈÓï·¨£¬¿ÉÒÔÔÚ²»ÐÞ¸ÄÔ­À´ÀàµÄ»ù´¡ÉÏ, ΪÕâ¸öÀàÀ©³äһЩ·½·¨.

CategoryµÄ¸ñʽ

1.ÔÚ.hÎļþÖÐÉùÃ÷Àà±ð

(1)ÐÂÌí¼ÓµÄ·½·¨±ØÐëдÔÚ @interface Óë @endÖ®¼ä

(2)ClassName ÏÖÓÐÀàµÄÀàÃû(ҪΪÄĸöÀàÀ©Õ¹·½·¨) +

(3)CategoryName ´ýÉùÃ÷µÄÀà±ðÃû³Æ

(4)NewMethod ÐÂÌí¼ÓµÄ·½·¨

@interface ClassName (CategoryName) NewMethod; 
//ÔÚÀà±ðÖÐÌí¼Ó·½·¨
//²»ÔÊÐíÔÚÀà±ðÖÐÌí¼Ó±äÁ¿
@end

×¢Òâ:

²»ÔÊÐíÔÚÉùÃ÷Àà±ðµÄʱºò¶¨Òå±äÁ¿

ÔÚ.mÎļþÖÐʵÏÖÀà±ð:

£¨1£©Ð·½·¨µÄʵÏÖ±ØÐëдÔÚ@ implementationÓë@endÖ®¼ä

£¨2£©ClassName ÏÖÓÐÀàµÄÀàÃû

£¨3£©CategoryName ´ýÉùÃ÷µÄÀà±ðÃû³Æ

£¨4£©NewMethod ÐÂÌí¼ÓµÄ·½·¨µÄʵÏÖ

categoryʹÓÃ×¢Òâ:

1. ·ÖÀàÖ»ÄÜÔö¼Ó·½·¨, ²»ÄÜÔö¼Ó³ÉÔ±±äÁ¿

2. ·ÖÀàÖÐдpropertyÖ»»áÉú³É·½·¨ÉùÃ÷

3. ·ÖÀà¿ÉÒÔ·ÃÎÊÔ­À´ÀàÖеijÉÔ±±äÁ¿

4. Èç¹û·ÖÀàºÍÔ­À´Àà³öÏÖͬÃûµÄ·½·¨, ÓÅÏȵ÷Ó÷ÖÀàÖеķ½·¨, Ô­À´ÀàÖеķ½·¨»á±»ºöÂÔ

·ÖÀàµÄ±àÒëµÄ˳Ðò

·½·¨µ÷ÓÃ˳Ðò£¨´Ó¸ßµ½µÍ£© ·ÖÀà ¨C>Ô­À´Àà ¨C>¸¸Àà

·ÖÀàÓ¦Óó¡¾°£º¿ª·¢Öо­³£Ê¹Óõķ½·¨£¬¿ÉÒÔ³é³öÒ»¸ö·ÖÀ࣬ÍŶӿª·¢ÖУ¬¶àÈ˹²Í¬¿ª·¢£¬¿ÉÒÔд¶à¸ö·ÖÀ࣬×îºó½øÐÐÈںϡ£

¶þ¡¢Exetention ÄäÃûÀ©Õ¹

1.ÄäÃûÀ©Õ¹¶¨Òå

ÑÓÕ¹Àà±ðÓÖ³ÆÎªÀ©Õ¹(Extendsion),ExtensionÊÇCategoryµÄÒ»¸öÌØÀý

¿ÉÒÔΪij¸öÀàÀ©³äһЩ˽ÓеijÉÔ±±äÁ¿ºÍ·½·¨Ð´ÔÚ.mÎļþÖÐ

Ó¢ÎÄÃûÊÇClass Extension

2.À©Õ¹Êéд¸ñʽ

ÔÚ.mÎļþÖÐ

@interface ˈ̞ ()
{
int _age;
}
- (void)say;

@end

Èý¡¢Block

1.Block¼ò½é

BlockÊÇiOSÖÐÒ»ÖֱȽÏÌØÊâµÄÊý¾ÝÀàÐÍ

BlockÊÇÆ»¹û¹Ù·½ÌرðÍÆ¼öʹÓõÄÊý¾ÝÀàÐÍ, Ó¦Óó¡¾°±È½Ï¹ã·º¡£

BlockÓ¦Óó¡¾°£º

¶¯»­

¶àÏß³Ì

¼¯ºÏ±éÀú

ÍøÂçÇëÇ󻨵÷

2.BlockµÄ×÷ÓÃ

ÓÃÀ´±£´æÄ³Ò»¶Î´úÂë, ¿ÉÒÔÔÚÇ¡µ±µÄʱ¼äÔÙÈ¡³öÀ´µ÷ÓÃ

¹¦ÄÜÓеãÀàËÆÓÚº¯ÊýºÍ·½·¨¡£

3.BlockµÄ¶¨Òå¸ñʽ£º

·µ»ØÖµÀàÐÍ (^block±äÁ¿Ãû)(ÐβÎÁбí) = ^(ÐβÎÁбí) {
};

£¨1£©ÎÞ·µ»ØÖµ£¬ÎÞÐβÎ

void(^Myblock)() = ^{ 
NSLog(@¡±Hello¡±);
};

(2)Óзµ»ØÖµ£¬ÓÐÐβÎ

int(^MyBlock)(int,int) = ^(int a,int b){ 
return a +b;
};

(3)ÎÞ·µ»ØÖµ£¬ÓÐÐβÎ

void(^MyBlock)(int) = ^(int num){ 
for (int i = 0,i

Èý¡¢Protocol ЭÒé

1.protocol »ù±¾¸ÅÄî

Protocol·­Òë¹ýÀ´, ½Ð×ö¡±Ð­Ò顱

(1)ÔÚдjavaµÄʱºò¶¼»áÓнӿÚinterfaceÕâ¸ö¸ÅÄî,½Ó¿Ú¾ÍÊÇÒ»¶Ñ·½·¨µÄÉùÃ÷ûÓÐʵÏÖ,¶øÔÚOCÀïÃæInterfaceÊÇÒ»¸öÀàµÄÍ·ÎļþµÄÉùÃ÷,²¢²»ÊÇÕæÕýÒâÒåÉϵĽӿڵÄÒâ˼,ÔÚOCÖнӿÚÊÇÓÉÒ»¸ö½Ð×öЭÒéµÄprotocolÀ´ÊµÏÖµÄ

protocolËü¿ÉÒÔÉùÃ÷һЩ±ØÐëʵÏֵķ½·¨ºÍÑ¡ÔñʵÏÖ µÄ·½·¨¡£Õâ¸öºÍjavaÊÇÍêÈ«²»Í¬µÄ¡£

2.ProtocolµÄ×÷Óãº

ÓÃÀ´ÉùÃ÷һЩ·½·¨£¬Ò²¾Í˵£¬ Ò»¸öProtocolÊÇÓÉһϵÁеķ½·¨ÉùÃ÷×é³ÉµÄ¡£

3.protocol Óï·¨¸ñʽ

£¨1£©ProtocolµÄ¶¨Òå

@protocol ЭÒéÃû³Æ 
// ·½·¨ÉùÃ÷Áбí
@end

£¨2£©Àà×ñÊØÐ­Òé

Ò»¸öÀà¿ÉÒÔ×ñÊØ1¸ö»ò¶à¸öЭÒé

ÈκÎÀàÖ»Òª×ñÊØÁËProtocol,¾ÍÏ൱ÓÚÓµÓÐÁËProtocolµÄËùÓз½·¨ÉùÃ÷.

4.protocolºÍ¼Ì³ÐÇø±ð

¼Ì³ÐÖ®ºóĬÈϾÍÓÐʵÏÖ, ¶øprotocolÖ»ÓÐÉùÃ÷ûÓÐʵÏÖ

ÏàͬÀàÐ͵ÄÀà¿ÉÒÔʹÓü̳Ð, µ«ÊDz»Í¬ÀàÐ͵ÄÀàÖ»ÄÜʹÓÃprotocol

protocol¿ÉÒÔÓÃÓÚ´æ´¢·½·¨µÄÉùÃ÷, ¿ÉÒÔ½«¶à¸öÀàÖй²Í¬µÄ·½·¨³éÈ¡³öÀ´, ÒÔºóÈÃÕâЩÀà×ñÊØÐ­Òé¼´¿É¡£

5.ЭÒéÖеÄÁ½¸ö¹Ø¼ü×Ö

ÓÐ2¸ö¹Ø¼ü×Ö¿ÉÒÔ¿ØÖÆ·½·¨ÊÇ·ñҪʵÏÖ(ĬÈÏÊÇ@required£¬ÔÚ´ó¶àÊýÇé¿öÏ£¬ÓÃ;ÔÚÓÚ³ÌÐòÔ±Ö®¼äµÄ½»Á÷)

@required£ºÕâ¸ö·½·¨±ØÐëҪʵÏÖ£¨Èô²»ÊµÏÖ£¬±àÒëÆ÷»á·¢³ö¾¯¸æ£©

@optional£ºÕâ¸ö·½·¨²»Ò»¶¨ÒªÊµÏÖ

6.ЭÒéµÄ¾ÖÏÞÐÔ

ЭÒéÊÇÓÃÀ´ÉùÃ÷Ò»´ó¶ÑµÄ·½·¨£¬²»ÄÜÉùÃ÷³ÉÔ±±äÁ¿£¬Ò²²»ÄÜдʵÏÖ·½·¨£¬¶øÄ³¸öÀà×ñÊØÁËÕâ¸öЭÒé¾Í¿ÉÒÔ½øÐÐЭÒéÖÐÉùÃ÷µÄ·½·¨µÄʵÏÖ£¬ÕâÑùËäÈ»Äܽâ¾öOCµÄµ¥¼Ì³ÐÎÊÌ⣬µ«ÊÇÓÐÀàÐ͵ÄÏÞÖÆ£¬²»Äܹ»¸üºÃµÄ×öµ½³ÌÐòµÄÀ©Õ¹ÐÔ£¬ÄÇôÔÚЭÒéµÄ»ù´¡ÉÏͨ¹ýʲôÄܹ»¸ü¾ßÀ©Õ¹ÐÔÄØ£¿´ð°¸ÊÇ¡ª¡ª ´úÀí¡£

7.ЭÒéµÄ×¢ÒâÊÂÏî

£¨1£©Ð­ÒéÖ»ÄÜÉùÃ÷·½·¨, ²»ÄÜÉùÃ÷ÊôÐÔ

£¨2£©¸¸Àà×ñÊØÁËij¸öЭÒé, ÄÇô×ÓÀàÒ²»á×Ô¶¯×ñÊØÕâ¸öЭÒé

£¨3£©ÔÚOCÖÐÒ»¸öÀà¿ÉÒÔ×ñÊØ1¸ö»ò¶à¸öЭÒé

×¢Òâ: OCÖеÄÀàÖ»ÄÜÓÐÒ»¸ö¸¸Àà, Ò²¾ÍÊÇ˵OCÖ»Óе¥¼Ì³Ð

£¨4£©OCÖеÄЭÒéÓÖ¿ÉÒÔ×ñÊØÆäËüЭÒé, Ö»ÒªÒ»¸öЭÒé×ñÊØÁËÆäËüЭÒé, ÄÇôÕâ¸öЭÒéÖоͻá×Ô¶¯°üº¬ÆäËüЭÒéµÄÉùÃ÷¡£

8.ЭÒéµÄÓ¦Óó¡¾°¼°×¢Òâµã

£¨1£©×öÀàÐÍÏÞ¶¨

ÀàÐÍÏÞ¶¨¾ÍÊÇÏÞ¶¨Ò»¸öÀà±ØÐë×ñÊØÄ³¸öЭÒé

Êý¾ÝÀàÐÍ<ЭÒéÃû³Æ> ±äÁ¿Ãû

@proterty(nonatomic , strong)dog< DogRunning > *dog;

£¨2£©ÀàÐÍÏÞ¶¨µÄ×¢Òâµã

1.ÀàÐÍÏÞ¶¨ÊÇдÔÚÊý¾ÝÀàÐ͵ÄÓұߵÄ

2.ËäÈ»ÔÚ½ÓÊÜijһ¸ö¶ÔÏóµÄʱºò, ¶ÔÕâ¸ö¶ÔÏó½øÐÐÁËÀàÐÍÏÞ¶¨(ÏÞ¶¨Ëü±ØÐëʵÏÖij¸öЭÒé),

3µ«ÊDz¢²»Òâζ×ÅÕâ¸ö¶ÔÏó¾ÍÕæÕýµÄʵÏÖÁ˸÷½·¨. ËùÒÔÿ´ÎÔÚµ÷ÓöÔÏóµÄЭÒé·½·¨Ê±Ó¦¸Ã½øÐÐÒ»´ÎÑéÖ¤

if([self.dag respondsToSelect:@selector(run)]){
[self.dog run];
}

ËÄ¡¢Î¯ÍдúÀí

1.ʲôÊÇÉè¼ÆÄ£Ê½£¿

ÔÚ¼ÆËã»ú±à³ÌÓïÑÔÖÐÓÐ32ÖÖÉè¼ÆÄ£Ê½£¨Design pattern£©ÊÇÒ»Ì×±»·´¸´Ê¹ÓᢶàÊýÈËÖªÏþµÄ¡¢¾­¹ý·ÖÀà±àÄ¿µÄ¡¢´úÂëÉè¼Æ¾­ÑéµÄ×ܽᡣʹÓÃÉè¼ÆÄ£Ê½ÊÇΪÁË¿ÉÖØÓôúÂë¡¢ÈôúÂë¸üÈÝÒ×±»ËûÈËÀí½â¡¢±£Ö¤´úÂë¿É¿¿ÐÔ¡£ºÁÎÞÒÉÎÊ£¬Éè¼ÆÄ£Ê½ÓÚ¼ºÓÚËûÈËÓÚϵͳ¶¼ÊǶàÓ®µÄ£»Éè¼ÆÄ£Ê½Ê¹´úÂë±àÖÆÕæÕý¹¤³Ì»¯£»Éè¼ÆÄ£Ê½ÊÇÈí¼þ¹¤³ÌµÄ»ùʯÂöÂ磬Èçͬ´óÏõĽṹһÑù£¬ÔÚiOSÖг£ÓõÄʵ¼ÊģʽΪ£º´úÀí·½·¨£¬MVCģʽ£¬MVVCģʽ£¬µ¥ÀýģʽµÈ¡£

2.´úÀíÉè¼ÆÄ£Ê½

´úÀíģʽÊÇiOS¿ª·¢Öзdz£ÖØÒªµÄÒ»ÖÖÉè¼ÆÄ£Ê½£¬ÔÚUIÖÐÓõÄ×î¶à£¬ÓÐÒÔÏÂÁ½ÖÖÇé¿ö£º

£¨1£©µ±¶ÔÏóA·¢ÉúÁËһЩÐÐΪ,Ïë¸æÖª¶ÔÏóB(ÈöÔÏóB³ÉΪ¶ÔÏóAµÄ´úÀí¶ÔÏó)¶ÔÏóBÏë¼àÌý¶ÔÏóAµÄһЩÐÐΪ(ÈöÔÏóB³ÉΪ¶ÔÏóAµÄ´úÀí¶ÔÏó)

£¨2£©µ±¶ÔÏóAÎÞ·¨´¦ÀíijЩÐÐΪµÄʱºò,ÏëÈöÔÏóB°ïæ´¦Àí(ÈöÔÏóB³ÉΪ¶ÔÏóAµÄ´úÀí¶ÔÏó)

3.´úÀí±àд¹æ·¶

£¨1£©Ò»°ã´úÀíÊôÓÚË­£¬¾ÍдÔÚË­µÄÍ·ÎļþÖж¨Òå¡£

£¨2£©Ð­ÒéµÄÃû³ÆÒ»°ãÒÔËûµÃÊôÐÔµÄÄǸöÀàµÄÀàÃû¿ªÍ·£¬ºóÃæ¸úÉÏProtocol»òÕßDelegate¡£

£¨3£©Ð­ÒéÖеķ½·¨Ãû³ÆÒ»°ãÒÔЭÒéµÄÃû³ÆProtocol֮ǰµÄ×÷Ϊ¿ªÍ·¡£

4.½ÓÊÜ×ñÊØÐ­ÒéµÄ´úÀí¶ÔÏ󹨼ü×Ö

id¹Ø¼ü×Ö½ÓÊÜ×ñÊØÐ­ÒéµÄ´úÀí

@property(nonatomic,weak)id< DogDelegate>dog;

5.ʵÏÖ´úÀíµÄ²½Öè

·¢³ö´úÀíÕߣº

£¨1£©ÉùÃ÷Ò»¸öÀࣺ @class ÀàÃû

£¨2£©¶¨Òå´úÀíЭÒé

£¨3£©½«´úÀí×÷ΪÊôÐÔ£¬ÀàÐÍÏÞ¶¨´úÀí×ñÊØÐ­Òé

£¨4£©ÉùÃ÷·½·¨£¬·½·¨Àïµ÷ÓôúÀí£¬µ÷ÓôúÀíʵÏÖµÄЭÒé·½·¨

½ÓÊÜ´úÀíÕß

£¨5£©´øÈë´úÀí

£¨6£©×ñÊØ´úÀí

£¨7£©ÊµÏÖЭÒéÖеķ½·¨

·¢³öµÄ´úÀíÕß

£¨8£©ÊµÏÖµ÷ÓôúÀíÕߵķ½·¨

ÅжϴúÀíÊÇ·ñʵÏÖÁËЭÒéÖеķ½·¨

Èç¹û´úÀíʵÏÖÁË´úÀíÖеķ½·¨£¬¾Íµ÷ÓÃ

if ([self.delegate respondsToSelector:@selector(eat:)]) {
[self.delegate eat:self];
}

@classÓë#importµÄÇø±ð£¬Á½¸öµã:

(1)×÷ÓÃÉϵÃÇø±ð:

¡¤#import»á°üº¬ÒýÓÃÀàµÄËùÓÐÐÅÏ¢(ÄÚÈÝ),°üÀ¨ÒýÓÃÀàµÄ±äÁ¿ºÍ·½·¨ .@class½ö½ö¸æËß±àÒëÆ÷ÓÐÕâôһ¸öÀà,¾ßÌåÕâ¸öÀàÓÐʲôÐÅÏ¢,Íê²»Öª

(2 )ЧÂÊÉϵÃÇø±ð.

Èç¹ûÓÐÉϰٸöÍ·Îļþ¶¼#importÁËͬһ¸öÎļþ,»òÕßÕâЩÎļþÒÀ´Î±»#import,ÄÇôһµ©×ʼµÄÎļþÓи͝,ºóÃæÒýÓõ½Õâ¸öÎļþµÄËùÓÐÀà¶¼ÐèÒªÖØÐ±àÒëÒ»±ä,ЧÂʷdz£µÍ¡£

   
3782 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
Visual C++±à³ÌÃüÃû¹æÔò
ÈκÎʱºò¶¼ÊÊÓõÄ20¸öC++¼¼ÇÉ
CÓïÑÔ½ø½×
´®¿ÚÇý¶¯·ÖÎö
ÇáÇáËÉËÉ´ÓCһ·×ßµ½C++
C++±à³Ì˼Ïë


C++²¢·¢´¦Àí+µ¥Ôª²âÊÔ
C++³ÌÐò¿ª·¢
C++¸ß¼¶±à³Ì
C/C++¿ª·¢
C++Éè¼ÆÄ£Ê½
C/C++µ¥Ôª²âÊÔ


±±¾© ǶÈëʽC¸ßÖÊÁ¿±à³Ì
Öйúº½¿Õ ǶÈëʽC¸ßÖÊÁ¿±à³Ì
»ªÎª C++¸ß¼¶±à³Ì
±±¾© C++¸ß¼¶±à³Ì
µ¤·ð˹ C++¸ß¼¶±à³Ì
±±´ó·½Õý CÓïÑÔµ¥Ôª²âÊÔ
ÂÞ¿ËΤ¶û C++µ¥Ôª²âÊÔ