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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ïê½âSwiftÖеÄiOSÉè¼ÆÄ£Ê½
 
×÷Õß Vincent Ngo À´Ô´:Ray Wenderlich  »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2015-1-21
  2152  次浏览      27
 

˵µ½Éè¼ÆÄ£Ê½£¬ÏàÐÅ´ó¼Ò¶¼²»Ä°Éú£¬µ«ÊÇÓÖÓжàÉÙÈËÖªµÀËü±³ºóµÄÕæÕýº¬Ò壿¾ø´ó¶àÊý³ÌÐòÔ±¶¼ÖªµÀÉè¼ÆÄ£Ê½Ê®·ÖÖØÒª£¬²»¹ý¹ØÓÚÕâ¸ö»°ÌâµÄÎÄÕÂÈ´²»ÊǺܶ࣬¿ª·¢ÕßÃÇÔÚ¿ª·¢µÄʱºòÓÐʱҲ²»Ì«ÔÚÒâÉè¼ÆÄ£Ê½·½ÃæµÄÄÚÈÝ¡£

Éè¼ÆÄ£Ê½Õë¶ÔÈí¼þÉè¼ÆÖеij£¼ûÎÊÌ⣬ÌṩÁËһЩ¿É¸´ÓõĽâ¾ö·½°¸£¬¿ª·¢Õß¿ÉÒÔͨ¹ýÕâЩģ°åд³öÒ×ÓÚÀí½âÇÒÄܹ»¸´ÓõĴúÂë¡£ÕýÈ·µÄʹÓÃÉè¼ÆÄ£Ê½¿ÉÒÔ½µµÍ´úÂëÖ®¼äµÄñîºÏ¶È£¬´Ó¶øºÜÇáËɵÄÐ޸ĻòÕßÌæ»»ÒÔǰµÄ´úÂë¡£

Èç¹ûÄã¶ÔÉè¼ÆÄ£Ê½»¹ºÜİÉú£¬ÄÇô¸æËßÄãÒ»¸öºÃÏûÏ¢£¡ÔÚiOSµÄ¿ª·¢¹ý³ÌÖУ¬ÆäʵÄã²»Öª²»¾õÒѾ­ÓÃÁ˺ܶàÉè¼ÆÄ£Ê½¡£ÕâµÃÒæÓÚCocoaÌṩµÄ¿ò¼ÜºÍһЩÁ¼ºÃµÄ±à³Ìϰ¹ß¡£½ÓÏÂÀ´µÄÕâÆª½Ì³Ì½«»á´øÄãÒ»Æð·É£¬È¥ÁìÂÔÉè¼ÆÄ£Ê½µÄ÷ÈÁ¦¡£

ÎÒÃǽ«»áÍê³ÉÒ»¸öÍêÕûµÄÓ¦Óã¬Õ¹Ê¾ÒôÀÖר¼­ºÍר¼­µÄÏà¹ØÐÅÏ¢¡£Í¨¹ýÕâ¸öÓ¦Óã¬ÎÒÃÇ»á½Ó´¥Ò»Ð©CocoaÖг£¼ûµÄÉè¼ÆÄ£Ê½£º

  • ´´½¨ÐÍ£¨Creational£©£ºµ¥Àýģʽ£¨Singleton£©
  • ½á¹¹ÐÍ£¨Structural£©£ºMVC¡¢×°ÊÎÕßģʽ £¨Decorator£©¡¢ÊÊÅäÆ÷ģʽ£¨Adapter£©¡¢Íâ¹Ûģʽ £¨Facade£©
  • ÐÐΪÐÍ£¨Behavioral£©£º¹Û²ìÕßģʽ£¨Observer£©¡¢±¸Íü¼ģʽ£¨Memento£©

ÕâÆªÎÄÕ²»ÊÇʲô³¤Æª´óÂÛµÄÀíÂÛ֪ʶ£¬Äã»áÔÚ¿ª·¢Ó¦ÓõĹý³ÌÖÐÂýÂýѧ»áÕâЩÉè¼ÆÄ£Ê½¡£

ÏÈÀ´Ô¤ÀÀÒ»ÏÂ×îÖյĽá¹û£º

¿´ÆðÀ´»¹ÊDz»´íµÄ£¬¿ªÊ¼Ñ§Ï°½ÓÏÂÀ´µÄÄÚÈݰɡ£Ó¸ҵÄÉÙÄêÃÇ£¬¿ìÀ´´´ÔìÆæ¼££¡

¿ªÊ¼

ÏÂÔØ³õʼÏîÄ¿²¢½âѹ£¬ÔÚXcodeÖдò¿ªBlueLibrarySwift.xcodeprojÏîÄ¿Îļþ¡£

ÏîÄ¿ÖÐÓÐÈý¸öµØ·½ÐèҪעÒâһϣº

  1. ViewControllerÓÐÁ½¸öIBOutlet £¬·Ö±ðÁ¬½Óµ½ÁËUITableView ºÍUIToolBarÉÏ¡£
  2. ÔÚStoryBoardÉÏÓÐÈý¸ö×é¼þÉèÖÃÁËÔ¼Êø¡£×îÉÏÃæµÄÊÇר¼­µÄ·âÃæ£¬·âÃæÏÂÃæÊÇÁоÙÁËÏà¹Ø×¨¼­µÄÁÐ±í£¬×îÏÂÃæÊÇÓÐÁ½¸ö°´Å¥µÄ¹¤¾ßÀ¸£¬Ò»¸öÓÃÀ´³·Ïú²Ù×÷£¬ÁíÒ»¸öÓÃÀ´É¾³ýÄãÑ¡ÖеÄר¼­¡£
  3. Ò»¸ö¼òµ¥µÄHTTP¿Í»§¶ËÀࣨHTTPClient£©£¬ÀïÃæ»¹Ã»ÓÐʲôÄÚÈÝ£¬ÐèÒªÄãÈ¥ÍêÉÆ¡£

¡¾×¢Òâ¡¿Æäʵµ±Äã´´½¨Ò»¸öеÄXcodeµÄÏîÄ¿µÄʱºò£¬ÄãµÄ´úÂëÀï¾ÍÒѾ­ÓкܶàÉè¼ÆÄ£Ê½µÄÓ°×ÓÁË£º MVC¡¢Î¯ÍС¢´úÀí¡¢µ¥Àý - ÕæÊÇÖÚÀïѰËûǧ°Ù¶È£¬µÃÀ´È«²»·Ñ¹¦·ò¡£

ÔÚѧϰµÚÒ»¸öÉè¼ÆÄ£Ê½Ö®Ç°£¬ÄãÐèÒª´´½¨Á½¸öÀ࣬ÓÃÀ´´æ´¢ºÍչʾר¼­Êý¾Ý¡£

´´½¨Ò»¸öеÄÀ࣬¼Ì³ÐNSObjectÃûΪAlbum£¬¼ÇµÃÑ¡ÔñSwift×÷Ϊ±à³ÌÓïÑÔÈ»ºóµã»÷ÏÂÒ»²½¡£

´ò¿ªAlbum.swiftÈ»ºóÌí¼ÓÈç϶¨Ò壺

ÕâÀï´´½¨ÁËÎå¸öÊôÐÔ£¬·Ö±ð¶ÔӦר¼­µÄ±êÌâ¡¢×÷Õß¡¢Á÷ÅÉ¡¢·âÃæµØÖ·ºÍ³ö°æÄê·Ý¡£

½ÓÏÂÀ´ÎÒÃÇÌí¼ÓÒ»¸ö³õʼ»¯·½·¨£º

ÕâÑùÎÒÃǾͿÉÒÔÓä¿ìµØ³õʼ»¯ÁË¡£

È»ºóÔÙ¼ÓÉÏÏÂÃæÕâ¸ö·½·¨£º

ÕâÊÇר¼­¶ÔÏóµÄÃèÊö·½·¨£¬ÏêϸµÄ´òÓ¡ÁË Album µÄËùÓÐÊôÐÔÖµ£¬·½±ãÎÒÃDz鿴±äÁ¿¸÷¸öÊôÐÔµÄÖµ¡£

½ÓÏÂÀ´£¬ÔÙ´´½¨Ò»¸ö¼Ì³Ð×Ô UIView µÄÊÓͼÀà AlbumView.swift¡£

ÔÚн¨µÄÀàÖÐÌí¼ÓÁ½¸öÊôÐÔ£º

coverImage´ú±íÁË·âÃæµÄͼƬ£¬indicatorÔòÊÇÔÚ¼ÓÔØ¹ý³ÌÖÐÏÔʾµÄµÈ´ýָʾÆ÷¡£

ÕâÁ½¸öÊôÐÔ¶¼ÊÇ˽ÓÐÊôÐÔ£¬ÒòΪ³ýÁËAlbumViewÖ®Í⣬ÆäËûÀàûÓбØÒªÖªµÀËûÁ©µÄ´æÔÚ¡£ÔÚдһЩ¿ò¼Ü»òÕßÀà¿âµÄʱºò£¬ÕâÖֹ淶ʮ·ÖÖØÒª£¬¿ÉÒÔ±ÜÃâһЩÎó²Ù×÷¡£

½ÓÏÂÀ´¸øÕâ¸öÀàÌí¼Ó³õʼ»¯»¯·½·¨£º

ÒòΪUIView×ñ´ÓNSCodingЭÒ飬ËùÒÔÎÒÃÇÐèÒªNSCoderµÄ³õʼ»¯·½·¨¡£²»¹ýĿǰÎÒÃÇûÓÐencodeºÍdecodeµÄ±ØÒª£¬ËùÒԾͰÑËü·ÅÔÚÄÇÀï¾ÍÐУ¬µ÷Óø¸Àà·½·¨³õʼ»¯¼´¿É¡£

ÔÚÕæÕýµÄ³õʼ»¯·½·¨ÀÎÒÃÇÉèÖÃÁËһЩ³õʼ»¯µÄĬÈÏÖµ¡£±ÈÈçÉèÖñ³¾°ÑÕɫĬÈÏΪºÚÉ«£¬´´½¨ ImageView ²¢ÉèÖÃÁË margin Öµ£¬Ìí¼ÓÁËÒ»¸ö¼ÓÔØÖ¸Ê¾Æ÷¡£

×îÖÕÎÒÃÇÔÙ¼ÓÉÏÈçÏ·½·¨£º

Õâ»áÇл»×¨¼­µÄ±³¾°ÑÕÉ«£¬Èç¹û¸ßÁÁ¾ÍÊǰ×É«£¬·ñÔò¾ÍÊǺÚÉ«¡£

ÔÚ¼ÌÐøÏÂÃæµÄÄÚÈÝ֮ǰ£¬ Command + B ÊÔÒ»ÏÂÈ·±£Ã»ÓÐʲôÎÊÌ⣬һÇÐÕý³££¿ÄǾͿªÊ¼µÚÒ»¸öÉè¼ÆÄ£Ê½µÄѧϰÀ²£¡

MVC——Éè¼ÆÄ£Ê½Ö®Íõ

Model-View-Controller (Ëõд MVC ) ÊÇ Cocoa ¿ò¼ÜµÄÒ»²¿·Ö£¬²¢ÇÒÎãÓ¹ÖÃÒÉÊÇ×î³£ÓõÄÉè¼ÆÄ£Ê½Ö®Ò»¡£Ëü¿ÉÒÔ°ïÄã°Ñ¶ÔÏó¸ù¾ÝÖ°Ôð½øÐл®·ÖºÍ¹éÀà¡£

×÷Ϊ»®·ÖÒÀ¾ÝµÄÈý¸ö»ù±¾Ö°ÔðÊÇ£º

  • Ä£ÐͲ㣨Model£©£º´æ´¢Êý¾Ý²¢ÇÒ¶¨ÒåÈçºÎ²Ù×÷ÕâЩÊý¾Ý¡£ÔÚÎÒÃǵÄÀý×ÓÖУ¬¾ÍÊÇAlbumÀà¡£
  • ÊÓͼ²ã£¨View£©£º¸ºÔðÄ£ÐͲãµÄ¿ÉÊÓ»¯Õ¹Ê¾£¬²¢ÇÒ¸ºÔðÓû§µÄ½»»¥£¬Ò»°ãÀ´Ëµ¶¼ÊǼ̳Ð×ÔUIViewÕâ¸ö»ùÀà¡£ÔÚÎÒÃǵÄÏîÄ¿ÖоÍÊÇAlbumViewÕâ¸öÀà¡£
  • ¿ØÖÆÆ÷£¨Controller£©£º¿ØÖÆÆ÷ÊÇÕû¸öϵͳµÄÕÆ¿ØÕߣ¬ËüÁ¬½ÓÁËÄ£ÐͲãºÍÊý¾Ý²ã£¬²¢ÇÒ°ÑÊý¾ÝÔÚÊÓͼ²ãչʾ³öÀ´£¬¼àÌý¸÷ÖÖʼþ£¬¸ºÔðÊý¾ÝµÄ¸÷ÖÖ²Ù×÷¡£²»·Á²Â²ÂÔÚÎÒÃǵÄÏîÄ¿ÖÐÄĸöÊÇ¿ØÖÆÆ÷£¿°¡¹þ²Â¶ÔÁËViewControllerÕâ¸öÀà¾ÍÊÇ¡£

Èç¹ûÄãµÄÏîÄ¿×ñÑ­MVCµÄÉè¼ÆÄ£Ê½£¬ÄÇô¸÷ÖÖ¶ÔÏóÒª²»ÊÇModel£¬Òª²»ÊÇView£¬Òª²»¾ÍÊÇController¡£µ±È»ÔÚʵ¼ÊµÄ¿ª·¢ÖÐÒ²¿ÉÒÔÁé»î±ä»¯£¬±ÈÈç½áºÏ¾ßÌåÒµÎñʹÓÃMVVM½á¹¹¸øViewControllerÊÝÊÝÉí£¬Ò²ÊÇ¿ÉÒԵġ£

ÈýÕßÖ®¼äµÄ¹ØÏµÈçÏ£º

Ä£ÐͲã֪ͨ¿ØÖÆÆ÷²ãÈκÎÊý¾ÝµÄ±ä»¯£¬È»ºó¿ØÖÆÆ÷²ã»áË¢ÐÂÊÓͼ²ãÖеÄÊý¾Ý¡£ÊÓͼ²ã¿ÉÒÔ֪ͨ¿ØÖÆÆ÷²ãÓû§µÄ½»»¥Ê¼þ£¬È»ºó¿ØÖÆÆ÷»á´¦Àí¸÷ÖÖʼþÒÔ¼°Ë¢ÐÂÊý¾Ý¡£

Äã¿ÉÄÜ»á¸Ð¾õÆæ¹Ö£ºÎªÊ²Ã´Òª°ÑÕâÈý¸ö¶«Î÷·Ö¿ªÀ´£¬¶ø²»ÄÜÈàÔÚÒ»¸öÀàÀïÄØ£¿ÄÇÑùËÆºõ¸ü¼òµ¥Ò»µãÂï¡£

Ö®ËùÒÔÕâÑù×ö£¬ÊÇΪÁ˽«´úÂë¸üºÃµÄ·ÖÀëºÍÖØÓá£ÀíÏë״̬Ï£¬ÊÓͼ²ãÓ¦µ±ºÍÄ£ÐͲãÍêÈ«·ÖÀë¡£Èç¹ûÊÓͼ²ã²»ÒÀÀµÈκÎÄ£ÐͲãµÄ¾ßÌåʵÏÖ£¬ÄÇô¾Í¿ÉÒÔºÜÈÝÒ׵ı»ÆäËûÄ£Ð͸´Óã¬ÓÃÀ´Õ¹Ê¾²»Í¬µÄÊý¾Ý¡£

¾Ù¸öÀý×Ó£¬±ÈÈçÔÚδÀ´ÎÒÃÇÐèÒªÌí¼ÓµçÓ°»òÕßʲôÊé¼®£¬ÎÒÃÇÒÀ¾É¿ÉÒÔʹÓà AlbumView Õâ¸öÀà×÷Ϊչʾ¡£¸ü¾ÃÔ¶µãÀ´Ëµ£¬ÔÚÒÔºóÈç¹ûÄã´´½¨ÁËÒ»¸öеÄÏîÄ¿²¢ÇÒÐèÒªÓõ½ºÍר¼­Ïà¹ØµÄÄÚÈÝ£¬Äã¿ÉÒÔÖ±½Ó¸´Óà Album ÀàÒòΪËü²¢²»ÒÀÀµÓÚÈκÎÊÓͼģ¿é¡£Õâ¾ÍÊÇ MVC µÄÇ¿´óÖ®´¦£¬Èý´óÔªËØ£¬¸÷˾ÆäÖ°£¬¼õÉÙÒÀÀµ¡£

ÈçºÎʹÓÃMVCģʽ

Ê×ÏÈ£¬ÄãÐèҪȷ¶¨ÄãµÄÏîÄ¿ÖеÄÿ¸öÀà¶¼ÊÇÈý´ó»ù±¾ÀàÐÍÖеÄÒ»ÖÖ£º¿ØÖÆÆ÷¡¢Ä£ÐÍ¡¢ÊÓͼ¡£²»ÒªÔÚÒ»¸öÀàÀïôۺ϶à¸ö½ÇÉ«¡£Ä¿Ç°ÎÒÃÇ´´½¨ÁËAlbumÀàºÍAlbumViewÀàÊÇ·ûºÏÒªÇóµÄ£¬×öµÃºÜºÃ¡£

È»ºó£¬ÎªÁËÈ·±£Äã×ñÑ­ÕâÖÖģʽ£¬Äã×îºÃ´´½¨Èý¸öÏîÄ¿·Ö×éÀ´´æ·Å´úÂ룬·Ö±ðÊÇModel¡¢View¡¢Controller£¬±£³Öÿ¸öÀàÐ͵ÄÎļþ·Ö±ð¶ÀÁ¢¡£

½ÓÏÂÀ´°ÑAlbum.swiftÍϵ½Model·Ö×飬°ÑAlbumView.swiftÍϵ½View·Ö×飬Ȼºó°ÑViewController.swift Íϵ½Controller·Ö×éÖС£

ÏÖÔÚÄãµÄÏîĿӦ¸ÃÊÇÕâ¸öÑù×Ó£º

ÏÖÔÚÄãµÄÏîÄ¿ÒѾ­ÓеãÑù×ÓÁË£¬²»ÔÙÊǸ÷¸öÎļþµßÅæÁ÷Àë¾ÓÎÞ¶¨ËùÁË¡£ÏÔÈ»Ä㻹»áÓÐÆäËû·Ö×éºÍÀ࣬µ«ÊÇÓ¦ÓõĺËÐľÍÔÚÕâÈý¸öÀàÀï¡£

ÏÖÔÚÄãµÄÄÚÈÝÒѾ­×éÖ¯ºÃÁË£¬½ÓÏÂÀ´Òª×öµÄ¾ÍÊÇ»ñȡר¼­µÄÊý¾Ý¡£Ä㽫»á´´½¨Ò»¸ö API ÀàÀ´¹ÜÀíÊý¾Ý - ÕâÀïÎÒÃÇ»áÓõ½ÏÂÒ»¸öÉè¼ÆÄ£Ê½£ºµ¥Àýģʽ¡£

µ¥Àýģʽ

µ¥Àýģʽȷ±£Ã¿¸öÖ¸¶¨µÄÀàÖ»´æÔÚÒ»¸öʵÀý¶ÔÏ󣬲¢ÇÒ¿ÉÒÔÈ«¾Ö·ÃÎÊÄǸöʵÀý¡£Ò»°ãÇé¿öÏ»áʹÓÃÑÓʱ¼ÓÔØµÄ²ßÂÔ£¬Ö»ÔÚµÚÒ»´ÎÐèҪʹÓõÄʱºò³õʼ»¯¡£

¡¾×¢Òâ¡¿ÔÚiOSÖе¥ÀýģʽºÜ³£¼û£¬NSUserDefaults.standardUserDefaults()¡¢UIApplication.sharedApplication()¡¢UIScreen.mainScreen()¡¢NSFileManager.defaultManager()ÕâЩ¶¼Êǵ¥Àýģʽ¡£

Äã¿ÉÄÜ»áÒÉ»óÁË£ºÈç¹û¶àÓÚÒ»¸öʵÀýÓÖ»áÔõôÑùÄØ£¿´úÂëºÍÄڴ滹û¾«¹óµ½Õâ¸öµØ²½°É£¿

ijЩ³¡¾°Ï£¬±£³ÖʵÀý¶ÔÏó½öÓÐÒ»·ÝÊǺÜÓÐÒâÒåµÄ¡£¾Ù¸öÀý×Ó£¬ÄãµÄÓ¦ÓÃʵÀý£¨UIApplication£©£¬Ó¦¸ÃÖ»ÓÐÒ»¸ö°É£¬ÏÔÈ»ÊÇÖ¸ÄãµÄµ±Ç°Ó¦Ó᣻¹ÓÐÒ»¸öÀý×Ó£ºÉ豸µÄÆÁÄ»£¨UIScreen£©ÊµÀýÒ²ÊÇÕâÑù£¬ËùÒÔ¶ÔÓÚÕâЩÀàµÄÇé¿ö£¬ÄãÖ»ÏëÒªÒ»¸öʵÀý¶ÔÏó¡£

µ¥ÀýģʽµÄÓ¦Óû¹ÓÐÁíÒ»ÖÖÇé¿ö£ºÄãÐèÒªÒ»¸öÈ«¾ÖÀàÀ´´¦ÀíÅäÖÃÎļþ¡£ÎÒÃǺÜÈÝÒ×ͨ¹ýµ¥ÀýģʽʵÏÖḬ̈߳²È«µÄʵÀý·ÃÎÊ£¬¶øÈç¹ûÓжà¸öÀà¿ÉÒÔͬʱ·ÃÎÊÅäÖÃÎļþ£¬Äǿɾ͸´ÔÓ¶àÁË¡£

ÈçºÎʹÓõ¥Àýģʽ

¿ÉÒÔ¿´ÏÂÕâ¸öͼ£º

ÕâÊÇÒ»¸öÈÕÖ¾À࣬ÓÐÒ»¸öÊôÐÔ£¨¼´Ò»¸öµ¥Àý¶ÔÏ󣩺ÍÁ½¸ö·½·¨£ºsharedInstance()ºÍinit()¡£

µÚÒ»´Îµ÷ÓÃsharedInstance()µÄʱºò£¬instanceÊôÐÔ»¹Ã»Óгõʼ»¯¡£ËùÒÔÎÒÃÇÒª´´½¨Ò»¸öÐÂʵÀý²¢ÇÒ·µ»Ø¡£

ÏÂÒ»´ÎÄãÔÙµ÷ÓÃsharedInstance()µÄʱºò£¬instanceÒѾ­³õʼ»¯Íê³É£¬Ö±½Ó·µ»Ø¼´¿É¡£Õâ¸öÂß¼­È·±£ÁËÕâ¸öÀàÖ»´æÔÚÒ»¸öʵÀý¶ÔÏó¡£

½ÓÏÂÀ´ÎÒÃǼÌÐøÍêÉÆµ¥Àýģʽ£¬Í¨¹ýÕâ¸öÀàÀ´¹ÜÀíר¼­Êý¾Ý¡£

×¢Òâµ½ÔÚÎÒÃÇÇ°ÃæµÄ½ØÍ¼À·Ö×éÖÐÓиöAPI·Ö×飬ÕâÀï¿ÉÒÔ·ÅÄÇЩÌṩºǫ́·þÎñµÄÀà¡£ÔÚÕâ¸ö·Ö×éÖд´½¨Ò»¸öеÄÎļþLibraryAPI.swift£¬¼Ì³Ð×ÔNSObjectÀà¡£

ÔÚLibraryAPIÀïÌí¼ÓÏÂÃæÕâ¶Î´úÂ룺

ÔÚÕ⼸ÐдúÂëÀ×öÁËÈçϹ¤×÷£º

  • ´´½¨Ò»¸ö¼ÆËãÀàÐ͵ÄÀà±äÁ¿£¬Õâ¸öÀà±äÁ¿£¬¾ÍÏñÊÇobjcÖеľ²Ì¬·½·¨Ò»Ñù£¬¿ÉÒÔÖ±½Óͨ¹ýÀà·ÃÎʶø²»ÓÃʵÀý¶ÔÏó¡£¾ßÌå¿É²Î¼ûÆ»¹û¹Ù·½ÎĵµµÄÊôÐÔ£¨Properties£©ÕâÒ»Õ¡£
  • ÔÚÀà±äÁ¿ÀïǶÌ×Ò»¸öSingleton½á¹¹Ìå¡£
  • Singleton·â×°ÁËÒ»¸ö¾²Ì¬µÄ³£Á¿£¬Í¨¹ý static ¶¨ÒåÒâζ×ÅÕâ¸öÊôÐÔÖ»´æÔÚÒ»¸ö£¬×¢ÒâSwiftÖÐstaticµÄ±äÁ¿ÊÇÑÓʱ¼ÓÔØµÄ£¬Òâζ×ÅInstanceÖ±µ½ÐèÒªµÄʱºò²Å»á±»´´½¨¡£Í¬Ê±ÔÙ×¢Òâһϣ¬ÒòΪËüÊÇÒ»¸ö³£Á¿£¬ËùÒÔÒ»µ©´´½¨Ö®ºó²»»áÔÙ´´½¨µÚ¶þ´Î¡£ÕâЩ¾ÍÊǵ¥ÀýģʽµÄºËÐÄËùÔÚ£ºÒ»µ©³õʼ»¯Íê³É£¬µ±Ç°Àà´æÔÚÒ»¸öʵÀý¶ÔÏ󣬳õʼ»¯·½·¨¾Í²»»áÔÙ±»µ÷Óá£
  • ·µ»Ø¼ÆËãºóµÄÊôÐÔÖµ¡£

¡¾×¢Òâ¡¿¸ü¶àµÄµ¥ÀýģʽʵÀý¿ÉÒÔ¿´¿´GithubÉϵÄÕâ¸öʾÀý£¬ÁоÙÁ˵¥ÀýģʽµÄÈô¸ÉÖÖʵÏÖ·½Ê½¡£

ÄãÏÖÔÚ¿ÉÒÔ½«Õâ¸öµ¥Àý×÷Ϊר¼­¹ÜÀíÀàµÄÈë¿Ú£¬½ÓÏÂÀ´ÎÒÃǼÌÐø´´½¨Ò»¸ö´¦Àíר¼­Êý¾Ý³Ö¾Ã»¯µÄÀà¡£

н¨ PersistencyManager.swift ²¢Ìí¼ÓÈçÏ´úÂ룺

ÔÚÕâÀïÎÒÃǶ¨ÒåÁËÒ»¸ö˽ÓÐÊôÐÔ£¬ÓÃÀ´´æ´¢×¨¼­Êý¾Ý¡£ÕâÊÇÒ»¸ö¿É±äÊý×飬ËùÒÔÄã¿ÉÒÔºÜÈÝÒ×µÄÔö¼Ó»òÕßɾ³ýÊý¾Ý¡£

È»ºó¼ÓÉÏһЩ³õʼ»¯µÄÊý¾Ý£º

ÔÚÕâ¸ö³õʼ»¯·½·¨ÀÎÒÃdzõʼ»¯ÁËÎåÕÅר¼­¡£Èç¹ûÉÏÃæµÄר¼­Ã»ÓÐÄãϲ»¶µÄ£¬Äã¿ÉÒÔËæÒâÌæ»»³ÉÄãµÄ²Ë¡£

È»ºóÌí¼ÓÈçÏ·½·¨£º

ÕâЩ·½·¨¿ÉÒÔÈÃÄã×ÔÓɵķÃÎÊ¡¢Ìí¼Ó¡¢É¾³ýר¼­Êý¾Ý¡£

ÕâʱÄã¿ÉÒÔÔËÐÐÒ»ÏÂÄãµÄÏîÄ¿£¬È·±£±àÒëͨ¹ýÒÔ±ã½øÐÐÏÂÒ»²½²Ù×÷¡£

´ËʱÄã»òÐí»á¸Ðµ½ºÃÆæ£ºPersistencyManagerºÃÏñ²»Êǵ¥Àý°¡£¿Êǵģ¬Ëüȷʵ²»Êǵ¥Àý¡£²»¹ýû¹ØÏµ£¬ÔÚ½ÓÏÂÀ´µÄÍâ¹ÛģʽÕ½ڣ¬Äã»á¿´µ½LibraryAPIºÍPersistencyManagerÖ®¼äµÄÁªÏµ¡£

Íâ¹Ûģʽ

Íâ¹ÛģʽÔÚ¸´ÔÓµÄÒµÎñϵͳÉÏÌṩÁ˼òµ¥µÄ½Ó¿Ú¡£Èç¹ûÖ±½Ó°ÑÒµÎñµÄËùÓнӿÚÖ±½Ó±©Â¶¸øÊ¹ÓÃÕߣ¬Ê¹ÓÃÕßÐèÒªµ¥¶ÀÃæ¶ÔÕâÒ»´ó¶Ñ¸´ÔӵĽӿڣ¬Ñ§Ï°³É±¾ºÜ¸ß£¬¶øÇÒ´æÔÚÎóÓõÄÒþ»¼¡£Èç¹ûʹÓÃÍâ¹Ûģʽ£¬ÎÒÃÇÖ»Òª±©Â¶±ØÒªµÄ API ¾Í¿ÉÒÔÁË¡£

ÏÂͼÑÝʾÁËÍâ¹ÛģʽµÄ»ù±¾¸ÅÄ

APIµÄʹÓÃÕßÍêÈ«²»ÖªµÀÕâÄÚ²¿µÄÒµÎñÂß¼­Óжàô¸´ÔÓ¡£µ±ÎÒÃÇÓдóÁ¿µÄÀಢÇÒËüÃÇʹÓÃÆðÀ´ºÜ¸´ÔÓ¶øÇÒÒ²ºÜÄÑÀí½âµÄʱºò£¬Íâ¹ÛģʽÊÇÒ»¸öÊ®·ÖÀíÏëµÄÑ¡Ôñ¡£

Íâ¹Ûģʽ°ÑʹÓúͱ³ºóµÄʵÏÖÂß¼­³É¹¦½âñͬʱҲ½µµÍÁËÍⲿ´úÂë¶ÔÄÚ²¿¹¤×÷µÄÒÀÀµ³Ì¶È¡£Èç¹ûµ×²ãµÄÀà·¢ÉúÁ˸ı䣬Íâ¹ÛµÄ½Ó¿Ú²¢²»ÐèÒª×öÐ޸ġ£

¾Ù¸öÀý×Ó£¬Èç¹ûÓÐÒ»ÌìÄãÏë»»µôËùÓеĺǫ́·þÎñ£¬ÄãÖ»ÐèÒªÐÞ¸ÄAPIÄÚ²¿µÄ´úÂ룬Íⲿµ÷ÓÃAPIµÄ´úÂë²¢²»»áÓи͝¡£

ÈçºÎʹÓÃÍâ¹Ûģʽ

ÏÖÔÚÎÒÃÇÓÃPersistencyManagerÀ´¹ÜÀíר¼­Êý¾Ý£¬ÓÃHTTPClientÀ´´¦ÀíÍøÂçÇëÇó£¬ÏîÄ¿ÖÐµÄÆäËûÀ಻Ӧ¸ÃÖªµÀÕâ¸öÂß¼­¡£ËûÃÇÖ»ÐèÒªÖªµÀLibraryAPIÕâ¸ö“Íâ¹Û”¾Í¿ÉÒÔÁË¡£

ΪÁËʵÏÖÍâ¹Ûģʽ£¬Ó¦¸ÃÖ»ÈÃLibraryAPI³ÖÓÐPersistencyManagerºÍHTTPClientµÄʵÀý£¬È»ºóLibraryAPI±©Â¶Ò»¸ö¼òµ¥µÄ½Ó¿Ú¸øÆäËûÀàÀ´·ÃÎÊ£¬ÕâÑùÍⲿµÄ·ÃÎÊÀ಻ÐèÒªÖªµÀÄÚ²¿µÄÒµÎñ¾ßÌåÊÇÔõÑùµÄ£¬Ò²²»ÓÃÖªµÀÄãÊÇͨ¹ýPersistencyManager»¹ÊÇHTTPClient»ñÈ¡µ½Êý¾ÝµÄ¡£

´óÖµÄÉè¼ÆÊÇÕâÑùµÄ£º

LibraryAPI»á±©Â¶¸øÆäËû´úÂë·ÃÎÊ£¬µ«ÊÇPersistencyManagerºÍHTTPClientÔòÊDz»¶ÔÍ⿪·ÅµÄ¡£

´ò¿ªLibraryAPI.swiftÈ»ºóÌí¼ÓÈçÏ´úÂ룺

³ýÁËÁ½¸öʵÀý±äÁ¿Ö®Í⣬»¹ÓиöBoolÖµ£ºisOnline£¬Õâ¸öÊÇÓÃÀ´±êʶµ±Ç°ÊÇ·ñΪÁªÍø×´Ì¬µÄ£¬Èç¹ûÊÇÁªÍø×´Ì¬¾Í»áÈ¥ÍøÂç»ñÈ¡Êý¾Ý¡£

ÎÒÃÇÐèÒªÔÚinitÀïÃæ³õʼ»¯ÕâЩ±äÁ¿£º

HTTPClient²¢²»»áÖ±½ÓºÍÕæÊµµÄ·þÎñÆ÷½»»¥£¬Ö»ÊÇÓÃÀ´ÑÝʾÍâ¹ÛģʽµÄʹÓá£ËùÒÔinOnlineÕâ¸öÖµÎÒÃÇÒ»Ö±ÉèÖÃΪfalse¡£

½ÓÏÂÀ´ÔÚLibraryAPI.swiftÀïÌí¼ÓÈçÏ´úÂ룺

¿´Ò»ÏÂaddAlbum(_:index:)Õâ¸ö·½·¨£¬Ïȸüб¾µØ»º´æ£¬È»ºóÈç¹ûÊÇÁªÍø×´Ì¬»¹ÐèÒªÏò·þÎñÆ÷·¢ËÍÍøÂçÇëÇó¡£Õâ±ãÊÇÍâ¹ÛģʽµÄÇ¿´óÖ®´¦£ºÈç¹ûÍⲿÎļþÏëÒªÌí¼ÓÒ»¸öеÄר¼­£¬Ëü²»»áÒ²²»ÓÃÈ¥Á˽âÄÚ²¿µÄʵÏÖÂß¼­ÊÇÔõôÑùµÄ¡£

¡¾×¢Òâ¡¿µ±ÄãÉè¼ÆÍâ¹ÛµÄʱºò£¬ÇëÎñ±ØÀμǣºÊ¹ÓÃÕßËæÊ±¿ÉÄÜÖ±½Ó·ÃÎÊÄãµÄÒþ²ØÀà¡£ÓÀÔ¶²»Òª¼ÙÉèʹÓÃÕß»á×ñÑ­Äãµ±³õµÄÉè¼Æ×öÊ¡£

ÔËÐÐÒ»ÏÂÄãµÄÓ¦Óã¬Äã¿ÉÒÔ¿´µ½Á½¸ö¿ÕµÄÒ³ÃæºÍÒ»¸ö¹¤¾ßÀ¸£º×îÉÏÃæµÄÊÓͼÓÃÀ´Õ¹Ê¾×¨¼­·âÃæ£¬ÏÂÃæµÄÊÓͼչʾÊý¾ÝÁÐ±í¡£

ÄãÐèÒªÔÚÆÁÄ»ÉÏչʾר¼­Êý¾Ý£¬ÕâÊǾ͸ÃÓÃÏÂÒ»ÖÖÉè¼ÆÄ£Ê½ÁË£º×°ÊÎÕßģʽ

×°ÊÎÕßģʽ

×°ÊÎÕßģʽ¿ÉÒÔ¶¯Ì¬µÄ¸øÖ¸¶¨µÄÀàÌí¼ÓһЩÐÐΪºÍÖ°Ô𣬶ø²»ÓöÔÔ­´úÂë½øÐÐÈκÎÐ޸ġ£µ±ÄãÐèҪʹÓÃ×ÓÀàµÄʱºò£¬²»·Á¿¼ÂÇÒ»ÏÂ×°ÊÎÕßģʽ£¬¿ÉÒÔÔÚԭʼÀàÉÏÃæ·â×°Ò»²ã¡£

ÔÚSwiftÀÓÐÁ½ÖÖ·½Ê½ÊµÏÖ×°ÊÎÕßģʽ£ºÀ©Õ¹£¨Extension£©ºÍίÍУ¨Delegation£©¡£

À©Õ¹

À©Õ¹ÊÇÒ»ÖÖÊ®·ÖÇ¿´óµÄ»úÖÆ£¬¿ÉÒÔÈÃÄãÔÚ²»Óü̳еÄÇé¿öÏ£¬¸øÒÑ´æÔÚµÄÀà¡¢½á¹¹Ìå»òÕßö¾ÙÀàÌí¼ÓһЩÐµĹ¦ÄÜ¡£×îÖØÒªµÄÒ»µãÊÇ£¬Äã¿ÉÒÔÔÚÄãûÓзÃÎÊȨÏÞµÄÇé¿öÏÂÀ©Õ¹ÒÑÓÐÀà¡£ÕâÒâζ×ÅÄãÉõÖÁ¿ÉÒÔÀ©Õ¹CocoaµÄÀ࣬±ÈÈçUIView»òÕßUIImage¡£

¾Ù¸öÀý×Ó£¬ÔÚ±àÒëʱмӵķ½·¨¿ÉÒÔÏñÀ©Õ¹ÀàµÄÕý³£·½·¨Ò»ÑùÖ´ÐС£ÕâºÍ×°ÊÎÆ÷ģʽÓе㲻ͬ£¬ÒòΪÀ©Õ¹²»»á³ÖÓÐÀ©Õ¹ÀàµÄ¶ÔÏó¡£

ÈçºÎʹÓÃÀ©Õ¹£¿

ÏëÏóÒ»ÏÂÕâ¸ö³¡¾°£¬ÎÒÃÇÐèÒªÔÚÏÂÃæÕâ¸öÁбíÀïչʾÊý¾Ý£º

ר¼­±êÌâ´ÓÄÄÀïÀ´£¿Album±¾ÉíÊǸöModel¶ÔÏó£¬ËùÒÔËü²»Ó¦¸Ã¸ºÔðÈçºÎչʾÊý¾Ý¡£ÄãÐèҪһЩ¶îÍâµÄ´úÂëÌí¼ÓչʾÊý¾ÝµÄÂß¼­£¬µ«ÊÇΪÁ˱£³ÖModelµÄ¸É¾»£¬ÎÒÃDz»Ó¦¸ÃÖ±½ÓÐ޸ĴúÂ룬ÒòΪÕâÑù²»·ûºÏµ¥Ò»Ö°ÔðÔ­Ôò¡£ Model ²ã×îºÃ¾ÍÊǸºÔð´¿´âµÄÊý¾Ý½á¹¹£¬Èç¹ûÓÐÊý¾ÝµÄ²Ù×÷¿ÉÒԷŵ½À©Õ¹ÖÐÍê³É¡£

½ÓÏÂÀ´ÎÒÃǻᴴ½¨Ò»¸öÀ©Õ¹£¬À©Õ¹ÏÖÓеÄAlbumÀ࣬ÔÚÀ©Õ¹ÀﶨÒåÁËÐµķ½·¨£¬·µ»Ø¸üÊʺÏUITableViewչʾÓõÄÊý¾Ý½á¹¹¡£

Êý¾ÝµÄ½á¹¹´ó¸ÅÊÇÕâÑù£º

н¨Ò»¸öSwiftÎļþ£ºAlbumExtensions £¬ÔÚÀïÃæÌí¼ÓÈçÏÂÀ©Õ¹£º

ÔÚ·½·¨µÄÇ°ÃæÓиöae_ ǰ׺£¬ÊÇAlbumExtensionµÄËõд£¬ÕâÑùÓÐÀûÓÚºÍÀàµÄÔ­Óз½·¨½øÐÐÇø·Ö£¬±ÜÃâʹÓõÄʱºò²úÉú³åÍ»¡£ÏÖÔںܶ໹ÔÚά»¤ÖеĵÚÈý·½¿â¶¼ÒѾ­¸Ä³ÉÁËÕâ¸ö·ç¸ñ¡£

¡¾×¢Òâ¡¿ÀàÊÇ¿ÉÒÔÖØÐ´¸¸Àà·½·¨µÄ£¬µ«ÊÇÔÚÀ©Õ¹Àï²»¿ÉÒÔ¡£À©Õ¹ÀïµÄ·½·¨ºÍÊôÐÔ²»ÄܺÍԭʼÀàÀïµÄ·½·¨ºÍÊôÐÔ³åÍ»¡£

˼¿¼Ò»ÏÂÕâ¸öÉè¼ÆÄ£Ê½µÄÇ¿´óÖ®´¦£º

  • ÎÒÃÇ¿ÉÒÔÖ±½ÓÔÚÀ©Õ¹ÀïʹÓà Album ÀïµÄÊôÐÔ¡£
  • ÎÒÃǸø Album ÀàÌí¼ÓÁËÄÚÈݵ«ÊDz¢Ã»Óм̳ÐËü£¬ÊÂʵÉÏ£¬Ê¹Óü̳ÐÀ´À©Õ¹ÒµÎñÒ²¿ÉÒÔʵÏÖÒ»ÑùµÄ¹¦ÄÜ¡£
  • Õâ¸ö¼òµ¥µÄÀ©Õ¹ÈÃÎÒÃÇ¿ÉÒÔ¸üºÃµØ°Ñ Album µÄÊý¾ÝչʾÔÚ UITableView À¶øÇÒ²»ÓÃÐÞ¸ÄÔ´Âë¡£

ίÍÐ

×°ÊÎÕßģʽµÄÁíÒ»ÖÖʵÏÖ·½°¸ÊÇίÍС£ÔÚÕâÖÖ»úÖÆÏ£¬Ò»¸ö¶ÔÏó¿ÉÒÔºÍÁíÒ»¸ö¶ÔÏóÏà¹ØÁª¡£±ÈÈçÄãÔÚÓÃUITableView£¬Äã±ØÐëʵÏÖtableView(_:numberOfRowsInSection:)Õâ¸öίÍз½·¨¡£

Äã²»Ó¦¸ÃÖ¸ÍûUITableViewÖªµÀÄãÓжàÉÙÊý¾Ý£¬ÕâÊǸöÓ¦Óòã¸Ã½â¾öµÄÎÊÌâ¡£ËùÒÔ£¬Êý¾ÝÏà¹ØµÄ¼ÆËãÓ¦¸Ãͨ¹ýUITableViewµÄίÍÐÀ´½â¾ö¡£ÕâÑù¿ÉÒÔÈÃUITableViewºÍÊý¾Ý²ã·Ö±ð¶ÀÁ¢¡£ÊÓͼ²ã¾Í¸ºÔðÏÔʾÊý¾Ý£¬ÄãµÝ¹ýÀ´Ê²Ã´ÎÒ¾ÍÏÔʾʲô¡£

ÏÂÃæÕâÕÅͼºÜºÃµÄ½âÊÍÁËUITableViewµÄ¹¤×÷¹ý³Ì£º

UITableViewµÄ¹¤×÷½ö½öÊÇչʾÊý¾Ý£¬µ«ÊÇ×îÖÕËüÐèÒªÖªµÀ×Ô¼ºÒªÕ¹Ê¾ÄÇЩÊý¾Ý£¬Õâʱ¾Í¿ÉÒÔÏòËüµÄίÍÐѯÎÊ¡£ÔÚobjcµÄίÍÐģʽÀһ¸öÀà¿ÉÒÔͨ¹ýЭÒéÀ´ÉùÃ÷¿ÉÑ¡»òÕß±ØÐëµÄ·½·¨¡£

¿´ÆðÀ´Ëƺõ¼Ì³ÐÈ»ºóÖØÐ´±ØÐëµÄ·½·¨À´µÄ¸ü¼òµ¥Ò»µã¡£µ«ÊÇ¿¼ÂÇÒ»ÏÂÕâ¸öÎÊÌ⣺¼Ì³ÐµÄ½á¹û±Ø¶¨ÊÇÒ»¸ö¶ÀÁ¢µÄÀ࣬Èç¹ûÄãÏëÈÃij¸ö¶ÔÏó³ÉΪ¶à¸ö¶ÔÏóµÄίÍУ¬ÄÇô×ÓÀàÕâÕоÍÐв»Í¨ÁË¡£

¡¾×¢Ò⡿ίÍÐģʽʮ·ÖÖØÒª£¬Æ»¹ûÔÚ UIKit ÖдóÁ¿Ê¹ÓÃÁ˸Ãģʽ£¬»ù±¾ÉÏËæ´¦¿É¼û¡£

ÈçºÎʹÓÃίÍÐģʽ

´ò¿ªViewController.swiftÎļþ£¬Ìí¼ÓÈçÏÂ˽ÓбäÁ¿£º

ÔÚviewDidLoadÀïÃæ¼ÓÈëÈçÏÂÄÚÈÝ£º

¶ÔÉÏÃæÈý¸ö²¿·Ö½øÐвð½â£º

  • ¹Ø±Õµ¼º½À¸µÄ͸Ã÷Ч¹û
  • ͨ¹ýAPI»ñÈ¡ËùÓеÄר¼­Êý¾Ý£¬¼Çס£¬ÎÒÃÇʹÓÃÍâ¹Ûģʽ֮ºó£¬Ó¦¸Ã´ÓLibraryAPI»ñÈ¡Êý¾Ý£¬¶ø²»ÊÇPersistencyManager ¡£
  • Äã¿ÉÒÔÔÚÕâÀïÉèÖÃÄãµÄUITablweView £¬ÔÚÕâÀïÉùÃ÷ÁËUITableViewµÄdelegateÊǵ±Ç°µÄViewController ¡£ÊÂʵÉÏÄãÓÃÁËXIB»òÕßStoryBoard£¬¿ÉÒÔÖ±½ÓÔÚ¿ÉÊÓ»¯µÄÒ³ÃæÀïÍÏ×§Íê³É¡£

½ÓÏÂÀ´Ìí¼ÓÒ»¸öÐµķ½·¨ÓÃÀ´¸ü·½±ãµÄ»ñÈ¡Êý¾Ý£º

showDataForAlbum()Õâ¸ö·½·¨»ñÈ¡×îеÄר¼­Êý¾Ý£¬µ±ÄãÏëҪչʾÐÂÊý¾ÝµÄʱºò£¬ÄãÐèÒªµ÷ÓÃreloadData()Õâ¸ö·½·¨£¬ÕâÑùUITableView¾Í»áÏòίÍÐÇëÇóÊý¾Ý£¬±ÈÈçÓжàÉÙ¸ösectionÓжàÉÙ¸örowÖ®ÀàµÄ¡£

ÔÚviewDidLoadÀïÃæµ÷ÓÃÉÏÃæµÄ·½·¨£º

ÕâÑùÓ¦ÓÃÒ»Æô¶¯¾Í»áÈ¥¼ÓÔØµ±Ç°µÄר¼­Êý¾Ý¡£ÒòΪcurrentAlbumIndexµÄĬÈÏÖµÊÇ 0 £¬ËùÒÔÒ»¿ªÊ¼»áĬÈÏÏÔʾµÚÒ»ÕÂר¼­µÄÐÅÏ¢¡£

½ÓÏÂÀ´ÎÒÃǸÃÈ¥ÍêÉÆDataSourceµÄЭÒé·½·¨ÁË¡£Äã¿ÉÒÔÖ±½Ó°ÑίÍз½·¨Ð´ÔÚÀàÀïÃæ£¬µ±È»Èç¹ûÄãÏëÈÃÄãµÄ´úÂë¿´ÆðÀ´¸üÕû½àÒ»µã£¬Ôò¿ÉÒÔ·ÅÔÚÀ©Õ¹Àï¡£

ÔÚÎļþµ×²¿Ìí¼ÓÈçÏ·½·¨£¬×¢ÒâÒ»¶¨Òª·ÅÔÚÀඨÒåµÄ´óÀ¨ºÅÍâÃæ£¬ÒòΪÕâÁ½¸ö¼Ò»ï²»ÊÇÀඨÒåµÄÒ»²¿·Ö£¬ËüÃÇÊÇÀ©Õ¹£º

ÉÏÃæ¾ÍÊÇʵÏÖίÍеķ½·¨ - Äã¿ÉÒÔ°ÑЭÒéÏëÏó³ÉÊÇÓëίÍÐÖ®¼äµÄÔ¼¶¨£¬Ö»ÒªÄãʵÏÖÁËÔ¼¶¨µÄ·½·¨£¬¾ÍËãÊÇʵÏÖÁËίÍС£ÔÚÎÒÃǵĴúÂëÖУ¬ViewControllerÐèÒª×ñÊØUITableViewDataSourceºÍUITableViewDelegateµÄЭÒé¡£ÕâÑùUITableView²ÅÄÜÈ·±£±ØÒªµÄίÍз½·¨¶¼ÒѾ­ÊµÏÖÁË¡£

ÔÚUITableViewDataSource¶ÔÓ¦µÄÄǸöÀ©Õ¹Àï¼ÓÉÏÈçÏ·½·¨£º

tableView(_:numberOfRowsInSection:) ·µ»ØÐèҪչʾµÄÐÐÊý£¬ºÍ´æ´¢µÄÊý¾ÝÖÐµÄ title µÄÊýÄ¿Ïàͬ¡£

tableView(_:cellForRowAtIndexPath:) ´´½¨²¢ÇÒ·µ»ØÁËÒ»¸öµ¥Ôª¸ñ£¬ÉÏÃæÓбêÌâºÍ¶ÔÓ¦µÄÖµ¡£

¡¾×¢Òâ¡¿Äã¿ÉÒÔ°ÑÕâЩ·½·¨Ö±½Ó¼ÓÔÚÀàÉùÃ÷ÀïÃæ£¬Ò²¿ÉÒÔ·ÅÔÚÀ©Õ¹À±àÒëÆ÷²»»áÈ¥¹ÜÊý¾ÝÔ´µ½µ×ÔÚÄÄÀֻҪÄÜÕÒµ½¶ÔÓ¦µÄ·½·¨¾Í¿ÉÒÔÁË¡£¶øÎÒÃÇÖ®ËùÒÔÕâÑù×ö£¬ÊÇΪÁË·½±ãÆäËûÈËÔĶÁ¡£

´ËʱÔÙ¹¹½¨ÏîÄ¿£¬Äã¿ÉÒÔ¿´µ½ÈçÏÂÄÚÈÝ£º

Êǵģ¬ÏÔʾ³É¹¦À²£¡Ä¿Ç°µÄÏîĿԴÂëÔÚÕâÀBlueLibrarySwift-Part1£¬Èç¹ûÓöµ½Ê²Ã´ÎÊÌâÄã¿ÉÒÔÏÂÔØÏÂÀ´¶Ô±Èһϡ£

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

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ


ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ