ÀÖÓãµç¾º



  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    IOSÅàѵʵս½Ì³ÌÖ®½« Objective-C ´úÂëÇ¨ÒÆµ½ Swift

    ¸üÐÂʱ¼ä:2015Äê12ÔÂ29ÈÕ12ʱ59·Ö À´Ô´:ÀÖÓã²¥¿ÍIOSÅàѵѧԺ ä¯ÀÀ´ÎÊý:

    Ç¨ÒÆ¹¤×÷ÌṩÁËÒ»¸öÖØÐÂÉóÊÓÏÖÓÐ Objective-C Ó¦ÓóÌÐòµÄ»ú»á£¬²¢Í¨¹ý Ìæ»»²¿·ÖSwift ´úÂëÀ´¸üºÃµÄÓÅ»¯Ó¦ÓóÌÐòµÄ¼Ü¹¹£¬Âß¼­ÒÔ¼°ÐÔÄÜ¡£»»¾ä»°Ëµ£¬ËùνÔöÁ¿appÇ¨ÒÆ£¬¾ÍÊÇÈÃÄãʹÓÃ֮ǰµÄ¹¤¾ß-mix and match À´ÌáÉýÏ໥֮¼äµÄ¿É²Ù×÷ÐÔ¡£µ±ÒªÑ¡ÔñÄÄÐ©ÌØÐԺ͹¦ÄÜÀ´Óà Swift£¬ÄÄЩÒÀÈ»Óà Objective-C ʵÏÖʱ£¬Mix-and-matchÈÃÕâÒ»ÇбäµÃ¼òµ¥¡£Swift ºÍ Objective-C µÄ»¥ÓÃÐÔÓÖʹµÃ½«ÕâЩ¹¦Äܼ¯³Éµ½ Objective-C ±äµÃ²¢²»À§ÄÑ¡£Í¨¹ýÕâЩ¹¤¾ß¿ÉÒÔ¿ª·Å Swift µÄÀ©Õ¹¹¦Äܲ¢¼¯³Éµ½ÏÖÓÐµÄ Objective-C ÏîÄ¿ÖжøÍêÈ«²»±ØÁ¢¿ÌʹÓà Swift ÖØÐ´Õû¸öÏîÄ¿¡£
    ΪÄãµÄObjective-C´úÂë×öºÃÇ¨ÒÆ×¼±¸
    ÔÚ ¿ªÊ¼Ç¨ÒÆÄãµÄ´úÂë֮ǰ£¬ÇëÈ·±£ÄãµÄ Objective-C ºÍ Swift ´úÂë¼äÓÐ×Å×î¼Ñ¼æÈÝÐÔ¡£ÕâÒâζ×ÅÕûÀí²¢Ê¹Óà Objective-C µÄÏÖ´ú»¯ÌØÐÔÀ´ÓÅ»¯ÄãµÄÏÖÓÐÏîÄ¿¡£ÎªÁËºÍ Swift ½øÐиüÈÝÒ×µÄÎÞ·ì½»»¥£¬ÄãµÄÏÖÓдúÂëÐèÒª×ñÑ­ÏÖ´ú±àÂëʵ¼ù¡£ÔÚ¿ªÊ¼Ç°£¬Óиö¼ò¶ÌµÄÊÊÅäÁ·Ï°ÁÐ±í£¬²Î¿´Adopting Mordern Objective-C¡£
    Ç¨ÒÆ¹ý³Ì
     
    ×î ÓÐÐ§Ç¨ÒÆ´úÂëµÄ·½Ê½ÊÇ»ùÓÚÖð¸öÎļþ£¬¼´Ò»´ÎÍê³ÉÒ»¸öÀà¡£ÓÉÓÚÄã²»ÄÜÔÚ Objective-C Öм̳РSwiftÀ࣬ ×îºÃÑ¡ÔñÒ»¸öûÓÐ×ÓÀàµÄ¡£Äã¾Í¿ÉÒÔÓõ¥¸ö.swiftÎļþÀ´´úÌæ¶Ô Ó¦µÄ.mºÍ.hÎļþÁË¡£ÄãËùÓеÄʵÏÖ´úÂëºÍ½Ó¿Ú½«Ö±½Ó·Å½øµ¥¸ö Swift Îļþ¡£Äã²»ÓÃÔÙ´´½¨Í·ÎļþÁË£»Xcode »áÔÚÄãÐèÒªÒýÓõÄʱºò×Ô¶¯Éú³ÉÍ·Îļþ¡£
    ×¼±¸¹¤×÷
    • ÔÚ Xcode ÖÐ:File>New>File>(iOS »òÕß OS X) > Other > Swift Ϊ¶ÔÓ¦µÄ Objective-C.m ºÍ.hÎļþ´´½¨Ò»¸ö Swift Àà¡£
    • µ¼ÈëÏà¹ØÏµÍ³¿ò¼Ü¡£
    • Èç¹ûÄãÏ£ÍûÔÚ Swift ÎļþÖзÃÎÊ Objective-C ´úÂëµÄ»°£¬¿ÉÒÔÌîÈëÒ»¸ö Objective-C ÇŽÓÍ·¡£¾ßÌåµÄ²Ù×÷²½Ö裬Çë¿´ Importing Code from Within the Same App Target¡£
    • Ϊ ʹÄãµÄ Swift ÀàÄÜÔÚ Objective-C ÖзÃÎÊʹÓ㬿ÉÒԼ̳РObjective-C À࣬»òÕß±ê¼ÇÉÏ@objcÊôÐÔ¡£ÎªÀàÖ¸¶¨ÌØÊâµÄÃû³Æ£¬ÒÔÔÚ Objective-C ÖÐʹÓ㬱ê¼ÇÉÏ@objc(#name#), <#name#>¾ÍÊÇÔÚ Objective-C ÖÐÒýÓÃµÄ Swift ÀàÃû¡£ ¸ü¶àÐÅÏ¢£¬Çë¿´Swift Type Compatibility¡£
    ¿ªÊ¼¹¤×÷
    • Äã¿ÉÒÔͨ¹ý¼Ì³Ð Objective-C À࣬ÊÊÅä Objective-C ЭÒ飬»òÕ߸ü¶àµÄ·½Ê½£¬À´Èà Swift À༯³É Objective-C ÐÐΪ¡£¸ü¶àÐÅÏ¢£¬Çë¿´Writing Swift Classes with Objective-C Behavior
    • µ±ÄãʹÓà Objective-C APIs µÄʱºò£¬ÄãÐèÒªÖªµÀ Swift ÊÇÔõÑùÀ´·­ÒëijЩ Objective-C ÌØÐԵġ£¸ü¶àÐÅÏ¢£¬Çë¿´Interacting with Objective-C APIs
    • µ±Óà Swift ±àдÓõ½ Cocoa ¿ò¼ÜµÄ´úÂëʱ£¬¼ÇסijЩÀàÐÍÊDZ»ÇŽӵÄ£¬Òâζ×ÅÄã¿ÉÒÔʹÓÃijЩ Swift ÀàÐÍÀ´Ìæ´ú Objective-C ÀàÐÍ¡£¸ü¶àÐÅÏ¢£¬Çë¿´Working with Cocoa Data Types
    • µ±ÄãÔÚ Swift ÖÐÔËÓà CocoaÉè¼ÆÄ£Ê½µÃʱºò£¬Çë¿´ Adopting Cocoa Design Patterns»ñÈ¡¸ü¶àµÄͨÓÃÉè¼ÆÄ£Ê½µÄת»»ÐÅÏ¢¡£
    • ¶ÔÓÚ´òË㽫ÏîÄ¿´Ó Objective-C ת»»µ½ Swfit µÄÈË£¬Çë¿´ Properties¡£
    • ÔÚ±ØÒªµÄʱºò£¬ÇëΪ Swift µÄÊôÐÔ»ò·½·¨£¬Í¨¹ý@objc(<#name#>)ÊôÐÔÀ´Ìṩ Objective-C Ãû³Æ£¬¾ÍÏñÕâÑù£º
    1
    2
    3
    4
    5
    var enabled: Bool {
        @objc(isEnabled) get {
            /* ... */
        }
    }
    ·Ö±ðÓÃfuncºÍclass funcÀ´±íʾ instance(-) ºÍ class(+) ·½·¨¡£
    ÉùÃ÷¼òµ¥µÄºêÀ´×÷Ϊ³£Á¿£¬½«¸´Ôӵĺêת»»Îªº¯Êý¡£
    ´ó¹¦¸æ³É
    • ÔÚÄãµÄ Objective-C ´úÂëÖиüРimport Óï¾äΪ #import "Ä£¿éÃû-Swift.h"£¬¿É²ÎÔÄImporting Code from Within the Same App TargetÖÐÔøÓÐÌáµ½¡£
    • ÔÚTarget µÄ³ÉԱѡÔñ¿òÖÐÈ¥µô¹´Ñ¡¿òÀ´ÒƳýԭʼµÄ Objective-C.mÎļþ.²»ÒªÁ¢¿Ìɾ³ý.mºÍ.hÎļþ£¬ÒÔ±¸½â¾öÎÊÌâÓá£
    • Èç¹ûÄã¸ø Swift ÀàÆðÁËÒ»¸ö²»Í¬µÄÃû×Ö£¬ÇëʹÓà Swift ÀàÃû´úÌæ Objective-C Ãû¡£
    ÎÊÌâ½â¾öÌáʾ
    ¾¡¹Ü¶ÔÓÚ²»Í¬µÄÏîÄ¿£¬Ç¨ÒƵľ­ÀúÊDz»¾¡ÏàͬµÄ£¬ÎÞÂÛÔõÑù£¬¶¼ÓÐһЩͨÓõIJ½ÖèºÍ¹¤¾ßÄܰïÄã½â¾ö´úÂëÇ¨ÒÆÊ±Åöµ½µÄÎÊÌ⣺
    • ¼Çס£ºÄã²»ÄÜÔÚ Objective-C Öм̳РSwift Àà¡£Òò´Ë£¬±»ÄãÇ¨ÒÆµÄÀ಻ÄÜÓÐÈÎºÎµÄ Objective-C ×ÓÀà´æÔÚÓÚÄãµÄÓ¦ÓÃÖС£
    • µ±ÄãÇ¨ÒÆÒ»¸öÀൽ Swift µÄʱºò£¬Äã±ØÐë´Ó target ÖÐÒÆ³ýÏà¹ØµÄ.mÎļþ£¬ÒÔ±ÜÃâ±àÒëʱÌáʾ³öÏÖÖØ¸´µÄ·ûºÅµÈ±àÒë´íÎó¡£
    • ΪÁËÔÚ Objective-C ÖпÉÒÔ·ÃÎʲ¢Ê¹Óã¬Swift Àà±ØÐëÊÇÒ»¸ö Objective-C ÀàµÄ×ÓÀ࣬»òÕß±»±ê¼ÇΪ@objc¡£
    • µ±ÄãÔÚ Objective-C ÖÐʹÓà Swift ´úÂëµÄʱºò£¬¼Çס Objective-C ²»ÄÜÀí½âÄÇЩ Swift µÄÄ³Ð©ÌØÐÔ£¬Çë¿´Using Swift from Objective-C
    • ¿ÉÒÔͨ¹ýCommond + µ¥»÷Ò»¸ö Swift ÀàÃûÀ´²é¿´ËüÉú³ÉµÄÍ·Îļþ¡£
    • ¿ÉÒÔͨ¹ýOption + µ¥»÷Ò»¸ö·ûºÅÀ´²é¿´¸üÏêϸµÄÐÅÏ¢£¬±ÈÈçËüµÄÀàÐÍ£¬ÊôÐÔÒÔ¼°Îĵµ×¢Ê͵È¡£
    ±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍiosÅàѵѧԺËùÓУ¬»¶Ó­×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
    ×÷ÕߣºÀÖÓã²¥¿ÍiosÅàѵѧԺ
    Ê×·¢£ºhttp://www.itcast.cn/ios/
    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿