¤Þ¤º¤Ï¡¢¤è¤¯¤¢¤ëHelloWorld¤òɽ¼¨¤¹¤ë¥¢¥×¥ê¤òºî¤ê¤Þ¤¹¡£
°ø¤Ë¡¢¡Ö»ä¥×¥í¥°¥é¥à½é¤á¤Æ¤Ê¤ó¤Ç¤¹¡£¡×¤È¤¤¤¦¿Í¤Ï¡¢Objective-C¤Ç¤Ï¤¸¤á¤ë¥×¥í¥°¥é¥àÆþÌç?¤ò»²¹Í¤Ë¤·¤Æ¤Í¡£
°ø¤Ë¡¢¡Ö»ä¥×¥í¥°¥é¥à½é¤á¤Æ¤Ê¤ó¤Ç¤¹¡£¡×¤È¤¤¤¦¿Í¤Ï¡¢Objective-C¤Ç¤Ï¤¸¤á¤ë¥×¥í¥°¥é¥àÆþÌç?¤ò»²¹Í¤Ë¤·¤Æ¤Í¡£
- ¥×¥í¥¸¥§¥¯¥È¤Î¿·µ¬ºîÀ®
- Xcode4.2¤Î³Æ²èÌ̤ÎÀâÌÀ
- ¥³¥ó¥È¥í¡¼¥ë¤òÇÛÃÖ¤·¤Æ¤ß¤ë
- ¥í¥¸¥Ã¥¯¤ò½ñ¤¤¤Æ¤ß¤ë
- ¥¡¼¥Ü¡¼¥É¤ò±£¤»¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡Ê¥Ç¥ê¥²¡¼¥È¡Ë
- Xcode¤òµ¯Æ°¤·¤Þ¤¹¡£
- File->New->New Project¤òÁªÂò¤·¡¢¡ÖChoose a template for your new project.¡×¥À¥¤¥¢¥í¥°¤òɽ¼¨¤·¤Þ¤¹¡£
- Single View Application¤òÁªÂò¤·¤Þ¤¹
Single View Application | ¤³¤Î¥Æ¥ó¥×¥ì¡¼¥È¤Ï¡¢Ã±°ì¤Î¥Ó¥å¡¼¤ò»ÈÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Æ¥ó¥×¥ì¡¼¥È¤òÄ󶡤·¤Þ¤¹¡£¤³¤Î¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤ÏViewController¤ª¤è¤ÓView¤¬´Þ¤Þ¤ì¤ëStoryboards¤â¤·¤¯¤Ïxlib¥Õ¥¡¥¤¥ë¤¬ÍÑ°Õ¤µ¤ì¤Þ¤¹¡£ |
- ¡ÖNext¡×¤ò²¡¤·¤Þ¤¹¡£
- ³Æ¹àÌܤòÆþÎϤ·¤í¤È¸À¤ï¤ì¤ë¤Î¤Ç¼¡¤Î¤È¤ª¤ê¤ËÆþÎϤ·¤Þ¤¹¡£
¹àÌÜ̾ | ÆþÎÏÃÍ | ÀâÌÀ |
Product Name | HelloWorld | ¥×¥í¥À¥¯¥È¤Î̾Á°¤Ç¤¹¤Í |
Company Identifier | edu.self | ²ñ¼Ò¼±Ê̾ðÊ󡣤ʤ±¤ì¤Ð¤³¤ì¤Ç |
Class Prefix | HelloWorld | ¥×¥í¥À¥¯¥È̾¤ÈƱ¤¸¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£¤³¤³¤ËÀßÄꤷ¤¿ÃͤÏXXXAppDeletege¤È¤«¤Î̾Á°¤Ë»È¤ï¤ì¤Þ¤¹ |
Use Stroybaord | ¥Á¥§¥Ã¥¯¤¢¤ê | Xcode4.2¤«¤é¤Î¿·µ¡Ç½¤Ç¤¹¤Í¡£¤Þ¤º¤Ï¤Ä¤«¤Ã¤Æ¤ß¤Þ¤·¤ç¤¦ |
Use Automatic Reference Counting | ¥Á¥§¥Ã¥¯¤¢¤ê | ARC¤Ç¤¹¤Í¡£¤³¤ì¤â¿·µ¡Ç½¡£»È¤¤¤Þ¤·¤ç¤¦ |
Include Unit Test | ¥Á¥§¥Ã¥¯¤Ê¤· | ¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤ÎÄɲÃÍ̵¡£¤è¤¯¤Ð¤é¤º¤Ë¤¤¤¤Þ¤·¤ç¤¦ |
¤È¤ê¤¢¤¨¤º¡¢¥×¥í¥¸¥§¥¯¥È¤Ï¤³¤ì¤Çºî¤ê½ª¤ï¤ê¤Þ¤·¤¿¡£
º¸¾å¤Î¡ÖRun¥Ü¥¿¥ó¡ÊºÆÀ¸¥Þ¡¼¥¯¤ß¤¿¤¤¤Ê¤Î¡Ë¡×¤ò²¡¤·¤Æ¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥·¥å¥ß¥ì¡¼¥¿¡¼¤¬µ¯Æ°¤·¤Æ¡¢¿¿¤ÃÇò¤¤²èÌ̤¬¤Ç¤Æ¤¯¤ì¤ÐOK¤Ç¤¹¡£
²èÌ̺¸¤Ë¤¢¤ëWindows¤ÎExplorer¤ß¤¿¤¤¤Ê¤â¤Î¤Ç¤¹¡£
¤³¤³¤Ë¥×¥í¥¸¥§¥¯¥È¤ËɬÍפʳƼï¥Õ¥©¥ë¥À¤ä¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤³¤Ë¥×¥í¥¸¥§¥¯¥È¤ËɬÍפʳƼï¥Õ¥©¥ë¥À¤ä¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Ç¤¹¤Í¡£ARC¤Ë¤¹¤ë¤È¤³¤³¤Ë¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤¬µºÜ¤µ¤ì¤Þ¤¹¡£
@autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class])); }
ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤¹¤Í¡£
HelloWorld¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢Storyboards¤ò»ÈÍѤ¹¤ë¤È¤·¤¿¤Î¤Ç¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°»þ¤ËÆɤ߹þ¤Þ¤ì¤ëStoryboards¥Õ¥¡¥¤¥ë¤¬µºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
HelloWorld¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢Storyboards¤ò»ÈÍѤ¹¤ë¤È¤·¤¿¤Î¤Ç¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óµ¯Æ°»þ¤ËÆɤ߹þ¤Þ¤ì¤ëStoryboards¥Õ¥¡¥¤¥ë¤¬µºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Main storyboard file base name String MainStoryboard
¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Îstoryboard¥Õ¥¡¥¤¥ë¤Ç¤¹¤Í¡£
¥¢¥×¥ê¤¬µ¯Æ°¤µ¤ì¤ë¤È¡¢MainStoryboard.storyboard¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥É¤µ¤ì¡¢StoyBoard¤Ë¤¢¤ë¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥é¡¼¤¬¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Þ¤¹¡£
¥¢¥×¥ê¤¬µ¯Æ°¤µ¤ì¤ë¤È¡¢MainStoryboard.storyboard¥Õ¥¡¥¤¥ë¤¬¥í¡¼¥É¤µ¤ì¡¢StoyBoard¤Ë¤¢¤ë¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥é¡¼¤¬¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Þ¤¹¡£
main.m¤Ç»ØÄꤵ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢UIApplication¤ÎDelegate¤òôÅö¤¹¤ë¥¯¥é¥¹¤Ç¤¹¤Í¡£
stroyboard¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¼¡£²ÅÀ¤ËÃíÌܲսê¤Ç¤·¤ç¤¦¤«¡£
¤Ê¤Î¤Ç¡¢didFinishLaunchingWithOptions¤Ë¤ÏÆä˲¿¤Î½èÍý¤ò½ñ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤À¤½¤¦¤Ç¤¹¡£
stroyboard¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¡¢¼¡£²ÅÀ¤ËÃíÌܲսê¤Ç¤·¤ç¤¦¤«¡£
- ViewController¤ò¥×¥í¥Ñ¥Æ¥£¤Ë»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
#import <UIKit/UIKit.h> @interface HelloWorldAppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end
- didFinishLaunchingWithOptions¤Î¥³¡¼¥Ç¥£¥ó¥°
¤Ê¤Î¤Ç¡¢didFinishLaunchingWithOptions¤Ë¤ÏÆä˲¿¤Î½èÍý¤ò½ñ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¡£
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; }¥¢¥×¥ê¤Îµ¯Æ°»þ¤ÎÆâÉô½èÍý¤â¤«¤ï¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¡¢API¤Ë¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤¢¤ê¤Þ¤·¤¿¡£
During setup, the application object performs the following tasks: 1.Loads the main storyboard file. ¡¡main storybord¥Õ¥¡¥¤¥ë¤òÆɤ߹þ¤ß¤Þ¤¹¡£ 2.Gets the window object from the app delegate (or creates a new instance of UIWindow and associates it with the app delegate). delegate¤«¤éwindow object¤òºî¤ë¤¼¡£ 3.Instantiates the storyboard¡Çs initial view controller and assigns it as the window object¡Çs root view controller. ¥¹¥È¡¼¥ê¡¼¥Ü¡¼¥É¤ÎºÇ½é¤Î¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥é¤ò¥¤¥ó¥¹¥¿¥ó¥¹²½¤·¡¢window¥ª¥Ö¥¸¥§¥¯¥È¤ÎroorViewController¤È¤·¤Æ³ä¤êÅö¤Æ¤ë¡£
¤À¤½¤¦¤Ç¤¹¡£
¤½¤ì¤¸¤ã¡¢¤È¤ê¤¢¤¨¤º¥³¥ó¥È¥í¡¼¥ë¤òÇÛÃÖ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¤«¡£
ºî¶È¤ò»Ï¤á¤ëÁ°¤Ë¡¢MainStoryboard.storyboard¥Õ¥¡¥¤¥ë¤ò³«¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£´Êñ¤ÊÀâÌÀ¤Ç¤â¤·¤Á¤ã¤¤¤Þ¤·¤ç¤¦¤«¡£
Storyboard¤Ç½ÅÍפʥ¡¼¥ï¡¼¥É¤Ï¼¡¤Î£²¤Ä¤À¤½¤¦¤Ç¤¹¡£
º£²ó¤Ï¡¢SingleViewTemplate¤òÁªÂò¤·¤¿¤Î¤Ç¡¢¥·¡¼¥ó¤Ï£±¸Ä¡¢segue¤Ï£°¸Ä¤Ç¤¹¤Í¡£¡Ê¸Ä¤È¿ô¤¨¤ë¤«¤Ï¤·¤é¤Ê¤¤¡£±©¤¸¤ã¤Ê¤¤¤¤¬¤¹¤ë¡Ë
º£²ó¤Ç¤¤¤¦¤È¡¢¥·¡¼¥ó¤Ïº¸¤«¤é¤Î¤Ó¤Æ¤¤¤ëÌð°õ¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ëView¤Î²èÌÌ¥¨¥Ç¥£¥¿¤È²¼¤ÎDocÉôʬ¤ò¼¨¤¹¤é¤·¤¤¡£¡Ê¤é¤·¤¤¤Ç¤¹¤«¤é¤Í¡Ë
¤µ¤Æ¡¢Á°ÃÖ¤¤¬Ä¹¤¯¤Ê¤ê¤Þ¤·¤¿¤¬¡¢ÇÛÃÖ¤ò¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£´ðËܤÏxlib¤È¤«¤ï¤ê¤Þ¤»¤ó¤Î¤Ç¾ÜºÙ¤Ï¾Ê¤¤Þ¤¹¡£
ËܲÈApple¥µ¥¤¥È¤Ë¤¤¤±¤Ð¡¢xlib¥Ð¡¼¥¸¥ç¥ó¤Ê¤éÆüËܸì¤Î¥Æ¥¥¹¥È¤¬¤¢¤ê¤Þ¤¹¤·¤Í¡£
ºî¶È¤ò»Ï¤á¤ëÁ°¤Ë¡¢MainStoryboard.storyboard¥Õ¥¡¥¤¥ë¤ò³«¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£´Êñ¤ÊÀâÌÀ¤Ç¤â¤·¤Á¤ã¤¤¤Þ¤·¤ç¤¦¤«¡£
Storyboard¤Ç½ÅÍפʥ¡¼¥ï¡¼¥É¤Ï¼¡¤Î£²¤Ä¤À¤½¤¦¤Ç¤¹¡£
- ¥·¡¼¥ó(sene)
- ¥»¥°¥¨(segue)
̾Á° | ÀâÌÀ |
¥·¡¼¥ó | ¥·¡¼¥ó¤Ï¡¢¥³¥ó¥Æ¥ó¥Ä¤Î¤¢¤ëÎΰè¤ò´ÉÍý¤¹¤ë¥Ó¥å¡¼¥³¥ó¥È¥í¡¼¥é¤òɽ¤¹ |
¥»¥°¥¨ | ¥»¥°¥¨¤ÏView´Ö¤ÎÀÚ¤êÂؤï¤ê¸ú²Ì¤òɽ¤¹ |
º£²ó¤Ï¡¢SingleViewTemplate¤òÁªÂò¤·¤¿¤Î¤Ç¡¢¥·¡¼¥ó¤Ï£±¸Ä¡¢segue¤Ï£°¸Ä¤Ç¤¹¤Í¡£¡Ê¸Ä¤È¿ô¤¨¤ë¤«¤Ï¤·¤é¤Ê¤¤¡£±©¤¸¤ã¤Ê¤¤¤¤¬¤¹¤ë¡Ë
º£²ó¤Ç¤¤¤¦¤È¡¢¥·¡¼¥ó¤Ïº¸¤«¤é¤Î¤Ó¤Æ¤¤¤ëÌð°õ¤Ë¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ëView¤Î²èÌÌ¥¨¥Ç¥£¥¿¤È²¼¤ÎDocÉôʬ¤ò¼¨¤¹¤é¤·¤¤¡£¡Ê¤é¤·¤¤¤Ç¤¹¤«¤é¤Í¡Ë
¤µ¤Æ¡¢Á°ÃÖ¤¤¬Ä¹¤¯¤Ê¤ê¤Þ¤·¤¿¤¬¡¢ÇÛÃÖ¤ò¤·¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£´ðËܤÏxlib¤È¤«¤ï¤ê¤Þ¤»¤ó¤Î¤Ç¾ÜºÙ¤Ï¾Ê¤¤Þ¤¹¡£
ËܲÈApple¥µ¥¤¥È¤Ë¤¤¤±¤Ð¡¢xlib¥Ð¡¼¥¸¥ç¥ó¤Ê¤éÆüËܸì¤Î¥Æ¥¥¹¥È¤¬¤¢¤ê¤Þ¤¹¤·¤Í¡£
¤Þ¤À¡¢¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤âÈ¿±þ¤Ï¤Ê¤¤¡ÊÀĤ¯¤Ï¤Ê¤ê¤Þ¤¹¤±¤É¡Ë¤·¡¢¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ëʸ»ú¤òÆþÎϤ·¤è¤¦¤â¤Î¤Ê¤é¡¢¥¡¼¥Ü¡¼¥É¤¬±£¤ì¤Æ¤¯¤ì¤Þ¤»¤ó¡£
i.Assistant Editor¤Î¥Ü¥¿¥ó¡Ê±¦¾å¤Îij¥Í¥¯¥¿¥¤¥¢¥¤¥³¥ó¡Ë¤ò²¡¤·¤Æ¡¢¥¨¥Ç¥£¥¿¥â¡¼¥É¤òÊѹ¹¤·¤Þ¤¹¡£
±¦Â¦¤Î¥³¡¼¥ÉÉôʬ¤Ë¤Ï¡¢HelloWorldViewController.h¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¤Í¡£
ii.¥Ü¥¿¥ó¤Î¾å¤ÇCtrl¥¡¼¤ò²¡¤·¤Ê¤¬¤é¡¢º¸Â¦¤Î¥³¡¼¥ÉÉôʬ¤Ë¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
iii.¥Ý¥Ã¥×¥¢¥Ã¥×¤¬¤Ç¤Æ¤¯¤ë¤Î¤Ç¹àÌܤòÆþÎϤ·¤Þ¤¹¡£
¤¹¤ë¤È¡¢HelloWorldViewController.h¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
±¦Â¦¤Î¥³¡¼¥ÉÉôʬ¤Ë¤Ï¡¢HelloWorldViewController.h¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¤Í¡£
ii.¥Ü¥¿¥ó¤Î¾å¤ÇCtrl¥¡¼¤ò²¡¤·¤Ê¤¬¤é¡¢º¸Â¦¤Î¥³¡¼¥ÉÉôʬ¤Ë¥É¥é¥Ã¥°¡õ¥É¥í¥Ã¥×¤·¤Þ¤¹¡£
iii.¥Ý¥Ã¥×¥¢¥Ã¥×¤¬¤Ç¤Æ¤¯¤ë¤Î¤Ç¹àÌܤòÆþÎϤ·¤Þ¤¹¡£
¤¹¤ë¤È¡¢HelloWorldViewController.h¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
#import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController - (IBAction)createMessage:(id)sender; @end¤Þ¤¿¡¢HelloWorldViewController.m¤Ë¤Ï¼¡¤Î¥³¡¼¥É¤¬Äɲ䵤ì¤Þ¤¹¡£
- (IBAction)createMessage:(id)sender { }
textfield¤Î¾å¤ÇCtrl¥¡¼²¡¤·¤¿¤Þ¤Þ±¦¤Î¥³¡¼¥É¥¨¥Ç¥£¥¿¤ËD&D¤¹¤ë¤È¡¢¥Ý¥Ã¥×¥¢¥Ã¥×¹àÌܤ¬É½¼¨¤µ¤ì¤ë¤Î¤Ç¼¡¤Î¤è¤¦¤Ë¹àÌܤËÆþÎϤ·¤Þ¤¹¡£
label¤â»÷¤¿¤è¤¦¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£Name¤Ï¡ÖlblMessage¡×¤È¤·¤Æ¤ª¤¤Þ¤¹¡£
¤³¤³¤Ç¤ÎÃíÌܥݥ¤¥ó¥È¤Ï¡¢¼¡¤Î£²ÅÀ¤Ç¤¹¡£
¹àÌÜ̾ | ÃÍ | ÀâÌÀ |
Name | txtName | Outlet¤Î̾Á°¤Ë¤Ê¤ê¤Þ¤¹¡£¤ï¤«¤ê¤ä¤¹¤¤¤â¤Î¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ |
Storage | Weak | textField¤Ï¡¢ViewController¤ÎView¥ª¥Ö¥¸¥§¥¯¥È¤ÎSubView¤Ç¤¹¡£¤Ä¤Þ¤ê¡¢View¤Ë½êͤµ¤ì¤Æ¤¤¤ë¤¿¤á¡¢Weak¤¬Å¬ÀڤǤ¹¡£ |
¤³¤³¤Ç¤ÎÃíÌܥݥ¤¥ó¥È¤Ï¡¢¼¡¤Î£²ÅÀ¤Ç¤¹¡£
- HelloWorldViewController.h¤Ë¼¡¤Î¥×¥í¥Ñ¥Æ¥£¤¬¤Ç¤¤Æ¤¤¤ë
#import <UIKit/UIKit.h> @interface HelloWorldViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtName; @property (weak, nonatomic) IBOutlet UILabel *lblMessage; - (IBAction)createMessage:(id)sender; @end
- HelloWorldViewController.m¥Õ¥¡¥¤¥ë¤ÎviewDidUnload¥á¥½¥Ã¥É¤Ç³Æ¥×¥í¥Ñ¥Æ¥£¤Ënil¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤³¤È
- (void)viewDidUnload { [self setTxtName:nil]; [self setLblMessage:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; }
- ¥«¥Æ¥´¥ê¡§
- ¥¤¥ó¥¿¡¼¥Í¥Ã¥È
- Áí¹ç
¥¿¥°
¥³¥á¥ó¥È¤ò¤«¤¯