1¡¢objective-c ÊÇËùÓжÔÏó¼äµÄ½»»¥ÊÇÈçºÎʵÏֵģ¿
ÔÚ¶ÔÏó¼ä½»»¥ÖÐÿ¸ö¶ÔÏó³Ðµ£µÄ½ÇÉ«²»Í¬£¬µ«×ܵÄÀ´ËµÎ޷ǾÍÊÇ¡±Êý¾ÝµÄ·¢ËÍÕß¡±»ò¡±Êý¾ÝµÄ½ÓÊÕÕß¡±Á½ÖÖ½ÇÉ«£¬ÎÒÃÇ¿ÉÒÔͨ¹ý´úÀíÈ¥½øÐÐͨÐÅ£¬»òÕßͨ¹ý¹Û²ìÕßÏûϢģʽ£¬blocks£¬appdelegagte
ͨ¹ý£º´úÀíÐÒ顱»òÕß¡±Í¨ÖªÖÐÐÄ¡±·½Ê½µÄʵÏÖÄÜ×î´óÏ޶ȵĽµµÍÁ½½»»¥¶ÔÏóÖ®¼äµÄñîºÏ£¬²»´íµÄÉè¼Æ£»
2¡¢ÈçºÎ½«²úÆ·½øÐжàÓïÑÔ·¢²¼£¬¿ª·¢£¿
xcode ¶Ô¶àÓïÑÔÖ§³Ö±È½ÏºÃ£¬³ýÁËh£¬mÎļþÍâËùÓÐÆäËû¶«Î÷¶¼¿ÉÒÔ¶àÓïÑÔ
3¡¢objective-cÖÐÊÇÈçºÎʵÏÖÏß³Ìͬ²½µÄ
Mutexlock £¨»¥³âËø£©¡¢NSCondition lock £¨Ìõ¼þËø£©ÏûÏ¢´«ËÍ
4¡¢Ê²Ã´ÊÇUDPºÍTCPµÄÇø±ðÊÇʲô£¿
TCP µÄÈ«³ÆÊÇ´«Êä¿ØÖÆÐÒ飬ÕâÖÖÐÒé¿ÉÒÔÌá¹©ÃæÏòÁ¬½ÓµÄ¡¢¿É¿¿µÄ¡¢µãµ½µãµÄͨÐÅ¡£
UDP µÄÈ«³ÆÊÇÓû§Êý¾Ý°üÐÒé¡£Ëû¿ÉÒÔÌṩ·ÇÁ¬½ÓµÄ²»¿É¿¿µÄµã¶®°¡¶àµãµÄͨÐÅ£¬ÊÇosi²Î¿¼Ä£ÐÍÖÐÒ»ÖÖÎÞÁ¬½ÓµÄ´«Êä²ãÐÒ飬Ìá¹©ÃæÏòÊÂÎñµÄ¼òµ¥µÄ²»¿É¿¿ÐÅÏ¢´«Ê䣬_IETF RFC 768 ÊÇUDP µÄÕýʽ¹æ·¶£»
Ñ¡ÔñºÎÖÖÐÒ飬¿´³ÌÐò×¢ÖØÄǸö·½Ã棬¿É¿¿ÒÖ»ò¿ìËÙ¡£
5¡¢TCP/IP ½¨Á¢Á¬½ÓµÄ¹ý³Ì
£¿
ÔÚTCP/IP ÐÒéÖУ¬TCPÐÒéÌṩ¿É¿¿µÄÁ¬½Ó·þÎñ£¬²ÉÓÃÈý´ÎÎÕÊÖ½¨Á¢Á¬½Ó£»
µÚÒ»´ÎÎÕÊÖ£º½¨Á¢Á¬½Óʱ£¬¿Í»§¶Ë·¢ËÍÁ¬½ÓÇëÇóµ½·þÎñÆ÷£¬²¢½øÈëSYN_SEND״̬£¬µÈ´ý·þÎñÆ÷È·ÈÏ£»
µÚ¶þ´ÎÎÕÊÖ£º·þÎñÆ÷ÊÕµ½¿Í»§¶ËÁ¬½ÓÇëÇó£¬Ïò¿Í»§¶Ë·¢ËÍÔÊÐíÁ¬½ÓÓ¦´ð£¬´Ëʱ·þÎñÆ÷½øÈëSYN_RECV״̬£»
µÚÈý´ÎÎÕÊÖ£º¿Í»§¶ËÊÕµ½·þÎñÆ÷µÄÔÊÐíÁ¬½ÓÓ¦´ð£¬Ïò·þÎñÆ÷·¢ËÍÈ·ÈÏ£¬¿Í»§¶ËºÍ·þÎñÆ÷½øÈëͨÐÅ״̬£¬Íê³ÉÈý´ÎÎÕÊÖ¡£
£¨ËùνµÄÈý´ÎÎÕÊÖ£¬¾ÍÊÇÒªÓÐÈý´ÎÁ¬½ÓÐÅÏ¢µÄ·¢ËÍ¡¢½ÓÊÕ¹ý³Ì¡£TCPÁ¬µÄ½¨Á¢ÐèÒª½øÐÐÈý´ÎÁ¬½ÓÐÅÏ¢µÄ·¢ËÍ¡¢½ÓÊÕ¡££©
6¡¢È«¾Ö±äÁ¿¿É²»¿ÉÒÔ¶¨ÒåÔÚ±»¶à¸ö.cÎļþ°üº¬µÄÍ·ÎļþÖУ¿ÎªÊ²Ã´£¿
¿ÉÒÔ£¬ÔÚ²»Í¬µÄcÎļþÖÐÒÔstatic ÐÎʽÀ´ÉùÃ÷ͬÃûÈ«¾Ö±äÁ¿¡£Ç°ÌáÊÇÆäÖÐÖ»ÄÜÓÐÒ»¸öcÎļþÖжԴ˱äÁ¿¸³³õÖµ£¬´ËʱÁ¬½Ó²»»á³ö´í¡£
7¡¢ÈçºÎÒýÓÃÒ»¸öÒѾ¶¨Òå¹ýµÄÈ«¾Ö±äÁ¿£¿
extern
¿ÉÒÔÓÃÒýÓÃÍ·ÎļþµÄ·½Ê½£¬Ò²¿ÉÒÔÓÃextern ¹Ø¼ü×Ö£¬Èç¹ûÓÃÒýÓÃÍ·ÎļþµÄ·½Ê½À´ÒýÓÃij¸öÔÚÍ·ÎļþÖеÄÈ«¾Ö±äÁ¿£¬¼Ù¶¨ÄãÄǸö±äÁ¿Ð´´íÁË£¬ÄÇô±àÒëÆÚ¼ä»á±¨´í£¬Èç¹ûÓÃextern ·½Ê½ÒýÓÃʱ£¬¼Ù¶¨Äã·¸ÁËͬÑùµÄ´íÎó£¬ÄÇôÔÚ±àÒëÆÚ¼ä²»»á±¨´í£¬¶øÔÚÁ¬½ÓÆÚ¼ä±¨´í¡£
8¡¢Ê²Ã´½ÐÊý¾Ý½á¹¹£¿
Êý¾Ý½á¹¹ÊǼÆËã»ú´æ´¢¡¢×éÖ¯Êý¾ÝµÄ·½Ê½¡£ÊÇÖ¸Ï໥֮¼ä´æÔÚÒ»ÖÖ»ò¶àÖÖÌØ¶¨¹ØÏµµÄÊý¾ÝÔªËØµÄ¼¯ºÏ¡£
ͨ³££¬¾«ÐÄÑ¡ÔñµÄÊý¾Ý½á¹¹¿ÉÒÔ´øÀ´¸ü¸ßµÄÔËÐлòÕߴ洢ЧÂÊ¡£
9¡¢±à³ÌÖУ¬±£´æÊý¾ÝÓÐÄļ¸ÖÖ·½Ê½£¿
Êý×é¡¢×Ô¶¨ÒåÀà¡¢Îļþ²Ù×÷£¬Êý¾Ý¿â£ºÈ磨SQLite ¡¢core data¡¢ plist ¡¢NSUserDefaults¡¢file £©¡ª³Ö¾Ã±£´æÊý¾Ý
10¡¢Sizeof ºÍstrlen µÄÇø±ðºÍÁªÏµ£¿
Sizeof£¨£© ÊÇÔËËã·û£¬¿ÉÒÔÓÃÀàÐÍ×ö²ÎÊý£¬»¹¿ÉÒÔÓú¯Êý×ö²ÎÊý£¬¹¦ÄÜÊÇ»ñµÃ±£Ö¤ÄÜÈÝÄÉʵÏÖËù½¨Á¢µÄ×î´ó¶ÔÏóµÄ×Ö½Ú´óС£»
strlen£¨£©ÊǺ¯Êý£¬ÒªÔÚÔËÐÐʱ²ÅÄܼÆËã¡£²ÎÊý±ØÐëÊÇ×Ö·ûÐÐÖ¸ÕëÇÒ±ØÐëÊÇÒÔ¡±\0¡å½áβµÄ¡£¹¦ÄÜΪ£º·µ»Ø×Ö·û´®µÄµÄ³¤¶È¡£
11¡¢Ê²Ã´ÊdzéÏóÀࣿ³éÏóÀàÓÐʲô×÷Óã¿ÄÜʵÀý»¯Âð£¿
ÔÚc++ÖУ¬º¬Óд¿ÐéÄ⺯ÊýµÄÀà³ÆÎª³éÏóÀ࣬Ëû²»ÄÜÉú³É¶ÔÏó£»
ÔÚjavaÖУ¬º¬ÓгéÏó·½·¨µÄÀà³ÆÎª³éÏóÀ࣬ͬÑù²»ÄÜÉú³É¶ÔÏó£»
³éÏóÀàÊDz»ÍêÕûµÄ£¬Ã»ÓÐÍêȫʵÏÖ£¬Ö»ÄÜÓÃ×÷»ùÀࣻ²»ÄÜʵÀý»¯¡£
12¡¢Äã¶Ô@interfaceºÍ@propertyµÄÀí½â£¿
@interface ÉêÃ÷Ò»¸öÀà
@property¾ÍÊÇÉêÃ÷2¸öÈ˺¯Êý£¬getterºÍsetter£¬±àÒëÆ÷»á×Ô¶¯²úÉú2¸öº¯Êý£»
13¡¢µ÷ÓÃÒ»¸öÀàµÄ¾²Ì¬·½·¨Ðè²»ÐèÒªrelease£¿
¾²Ì¬·½·¨£¬¾ÍÊÇÀà·½·¨£¬²»ÐèÒª£¬Àà·½·¨¶ÔÏó·ÅÔÚautoreleaseÖÐ
15¡¢do whileºÍwhile do µÄÇø±ð£¿
do while ÊÇÏÈÖ´ÐкóÅжϣ¬Ìõ¼þ²»Âú×ãÒ²ÒªÖ´ÐÐÒ»´Î£»
while do ÊÇÏÈÅжϺóÖ´ÐУ¬Ìõ¼þ²»Âú×ã¾ÍÒ»´Î¶¼²»Ö´ÐС£
16¡¢Ð´³ö¼¸¸öËÀÑ»·£¿
while£¨1£©{}¡¢ for£¨£»£»£©{}¡£
17¡¢ÓÃÔ¤´¦ÀíÖ¸Áî#defineÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷Ò»ÄêÖÐÓжàÉÙÃ루ºöÂÔÈóÄêÎÊÌ⣩
#define SECONS_PER_YER£¨60**60*24*365£©UL
18¡¢assignºÍretain £¬copyÇø±ð£¿
assign¾ÍÊÇºÍÆÕͨÓïÑԵĸ³ÖµÒ»Ñù£¬²»¸Ä±äÒýÓüÆÊý
retain ÔÚÒ»¸ö¶ÔÏóÖб£´æ¸Ã¶ÔÏóÐèÒªÓµÓеĶÔÏ󣬶ԸöÔÏóÒýÓüÆÊý+1£¬Ö¸Õ뿽±´£»
copy ¶ÔNSString£¬ÄÚÈÝ¿½±´£¬¿½±´Ö®Ç°¶¼»áÊͷžɵĶÔÏó
retain ¶ÔÆäËûNSObject ºÍÆä×ÓÀà
readonly ±íʾÕâ¸öÊôÐÔÊÇÖ»¶ÁµÄ£¬¾ÍÊÇÖ»Éú³Égetter ·½·¨£¬²»Éú³Ésetter ·½·¨¡£
read write ÉèÖÿɹ©·ÃÎʼ¶±ð
19¡¢ÀàÖ®¼äµÄ¼Ì³Ð¹ØÏµ£¬±ÈÈçUIview µÄ¸¸ÀàÊÇÄÄÒ»¸öµÈµÈ£¿
UIResponder £¬´¦Àí´¥Ãþ£¬touchBegin¡¢touchEnd £¬nextResponder
constºÍvolatile ·Ö±ð´ú±íʲôÒâ˼£¿
const ¼òµ¥ËµÊÇÖ»¶Á£¬ÓÃÀ´±£»¤ÄÇЩ²»Ï£Íû±»¸Ä±äµÄ²ÎÊý£¬·ÀÖ¹Æä±»ÄÇЩ¶ñÒâµÄ´úÂëÐ޸ġ£