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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
iOS³£¼ûÎļþ¼°³ÌÐòµÄÆô¶¯Ô­Àí
 
À´Ô´£ºSSIrreplaceable ·¢²¼ÓÚ£º 2017-3-29
  3353  次浏览      27
 

Ò». iOSÖг£¼ûÎļþ

(һ). Xcode6֮ǰ

´´½¨ÏîÄ¿£¬Ä¬ÈÏ¿ÉÒÔ¿´¼ûÒ»¸ö´æ·Å¿ò¼ÜµÄÎļþ¼Ð

infoÎļþÒÔ¹¤³ÌÎļþÃû¿ªÍ·,È磺µÚÒ»¸öÏîÄ¿-Info.plist

ÏîÄ¿ÖÐĬÈÏÓÐÒ»¸öPCHÎļþ

(¶þ). Xcode6Ö®ºó(°üÀ¨Xcode6)

´´½¨ÏîÄ¿£¬Ã»Óпò¼ÜÎļþ¼Ð£¬Ê¹ÓÃʱϵͳ²ÅÈ¥¼ÓÔØ

infoÎļþ²»ÒÔ¹¤³ÌÎļþÃû¿ªÍ·£¬È磺Info.plist

ÏîÄ¿ÖÐûÓÐPCHÎļþ

(Èý). Info.plistÎļþ(ÏîÄ¿ÅäÖÃÎļþ)

×÷Ó㺱£´æÓ¦ÓõÄÐÅÏ¢£¬Èí¼þÃû³Æ¡¢°æ±¾ºÅµÈµÈ£¬Ï൱ÓÚÉí·ÝÖ¤

Bundle name:³ÌÐòÃû³Æ£¬²»Äܳ¬¹ý12¸ö×Ö½Ú

Bundle versions string, short£ºAPP°æ±¾ºÅ

Bundle identifier£ºAPPÏîĿΨһ±êʶ

Bundle version£ºÄÚ²¿¿ª·¢ÈËԱʹÓõİ汾ºÅ

Main storyboard file base name£ºµÚÒ»Æô¶¯µÄstoryboardÎļþ

×¢Ò⣺ͼÐλ¯µÄInfo.plistÎļþÉÏÃæµÄKEY²»ÊÇÕæÊµµÄKEY£¬ÒªÏë¿´ÕæÊµµÄKEYµÃ¿´Info.plistÎļþµÄÔ´Âë

²Ù×÷£ºInfo.plist(Ñ¡ÖкóÓÒ¼üµ¥»÷) -> Open As -> Source Code

´úÂë²é¿´°æ±¾ºÅ

NSDictionary *dicInfo = [NSBundle mainBundle].infoDictionary;

NSLog(@"%@",dicInfo[@"CFBundleShortVersionString"]);

;

(ËÄ). PCHÎļþ

PCHÎļþÊÇÒ»¸öÍ·Îļþ,Äܱ»ÏîÄ¿ÖÐµÄÆäËûËùÓÐÔ´Îļþ¹²ÏíºÍ·ÃÎÊ

1. PCHÎļþµÄÐèÇó

Ò»¸öºê»òÍ·ÎļþµÈ£¬ºÜ¶àÎļþ¶¼ÐèÒªÓõ½£¬Ôõô½â¾ö£¬¸ã¸ö¹«ÓõÄÍ·Îļþ£¬Í¬Ê±µ¼ÈëÕâ¸öÍ·Îļþ

2. ×÷ÓÃ

(1). ´æ·ÅһЩ¹«Óõĺê

(2). ´æ·ÅһЩ¹«ÓÃÍ·Îļþ

(3). ¹ÜÀíÈÕÖ¾µÄÊä³ö,×Ô¶¨ÒåLog

3. ΪʲôҪ¹ÜÀíÈÕÖ¾Êä³ö

ÒòΪÈÕÖ¾Êä³ö·Ç³£ºÄÐÔÄÜ£¬Ò»°ã·¢²¼µÄʱºò²»ÐèÒªÈÕÖ¾Êä³ö,Ö»Óе÷ÊÔµÄʱºò²ÅÐèÒª

#ifdef DEBUG // µ÷ÊÔ½×¶Î

#define HMLog(...) NSLog(__VA_ARGS__)

#else // ·¢²¼½×¶Î

#define HMLog(...)

#endif

5. ×¢Òâ

ÔÚPCHÖÐдÓйØOCµÄÓï·¨£¬×îºÃ·ÅÔÚ #ifdef __OBJC__ ÖУ¬XcodeÔÚÿ¸öOCÎļþÖÐ
¶¼¶¨ÒåÁËÕâ¸öºê£¬Ò²¾ÍÒâζ×ÅÖ»ÓÐOCÖеÄÎļþ²ÅÓµÓÐÕâЩºê,±ÜÃâÁËÏîÄ¿ÖÐÓÐCÎļþµÄʱºò±¨´í¡£
									

¶þ. ³ÌÐòµÄÆô¶¯Ô­Àí

(Ò»). ³ÌÐòµÄÆô¶¯¹ý³Ì

´ò¿ª³ÌÐò

Ö´ÐÐmainº¯Êý

½áÊø³ÌÐò

(¶þ). Ö´ÐÐmainº¯Êý

int main(int argc, char * argv[]) {

@autoreleasepool {

// µÚÈý¸ö²ÎÊýΪnilʱ£¬Ä¬ÈÏÊÇUIApplicationÀàÃû

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

}

}

1. UIApplicationMainº¯ÊýµÄÔ­ÐÍ

UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString *principalClassNam
e, NSString *delegateClassName);

2. UIApplicationMainµÄµ×²ãʵÏÖ

(1). ¸ù¾ÝprincipalClassNameÌṩµÄÀàÃû£¬´´½¨Ò»¸öUIApplication¶ÔÏó

a. UIApplication´ú±íÒ»¸öÓ¦ÓóÌÐò
b. UIApplicationÒ»°ãÓÃÀ´×öһЩӦÓü¶±ðµÄ²Ù×÷£¨appµÄÌáÐÑ¿ò£¬ÁªÍø×´Ì¬£¬´òµç»°£¬´ò¿ªÍøÒ³£¬¿ØÖÆ×´Ì¬À¸£©

(2). ¸ù¾ÝdelegateClassNameÌṩµÄÀàÃû£¬´´½¨Ò»¸öUIApplicationµÄ´úÀí¶ÔÏó

a. ³ÌÐò¼ÓÔØÍê±Ïʱµ÷Óãºapplication:didFinishLaunchingWithOptions:

b. ³ÌÐò»ñÈ¡½¹µãʱµ÷ÓãºapplicationDidBecomeActive:

c. ³ÌÐò½øÈëºǫ́ʱµ÷ÓãºapplicationDidEnterBackground:

d. ³ÌÐòʧȥ½¹µãʱµ÷ÓãºapplicationWillResignActive:

e. ³ÌÐò´Óºǫ́»Øµ½Ç°Ì¨Ê±µ÷ÓãºapplicationWillEnterForeground:

f. Äڴ澯¸æ£¬¿ÉÄÜÒªÖÕÖ¹³ÌÐòʱµ÷ÓãºapplicationDidReceiveMemoryWarning:

g. ³ÌÐò¼´½«Í˳öʱµ÷ÓãºapplicationWillTerminate:

(3). ¿ªÆôÒ»¸öÖ÷ÔËÐÐÑ­»·£¬ËüÊDZ£³Ö³ÌÐòÒ»Ö±ÔÚÔËÐУ¬²¢´¦Àíʼþ

(4). ¼ÓÔØInfo.plistºÍÆô¶¯Í¼Æ¬£¬²¢ÇÒÅжÏInfo.plisÓÐûÓÐÖ¸¶¨Main.storyboard£¬Èç¹ûÖ¸¶¨£¬¾ÍÈ¥¼ÓÔØ

3. applicationÒþ²Ø×´Ì¬À¸

a.ÉèÖÃInfo.plistÎļþ£ºÌí¼Ó½¡View controller-based status bar appearance£¬ÉèÖÃֵΪNO

b. ´´½¨application

c. µ÷ÓÃÒþ²Ø×´Ì¬À¸·½·¨

4. ²¹³ä£º·´Éä»úÖÆ

·´Éä»úÖÆºÃ´¦£ºÈç¹ûÀàÃûÓÃ×Ö·û´®±íʾ£¬¼´Ê¹ÀàÃûд´í£¬±àÒëÆ÷²»±¨´í£»Èç¹ûͨ¹ý·´Éä»úÖÆ£¬ÀàÃûд

´í£¬±àÒëÆ÷±¨´í

 

NSString *class = NSStringFromClass([AppDelegate class]);

AppDelegate *strClass = NSClassFromString(@"AppDelegate");

(Èý). ¼ÓÔØMain.storyboard

1. ¼ÓÔØMain.storyboard²½Öè

a. ´´½¨´°¿Ú

b. ¼ÓÔØMain.storyboard£¬²¢ÇÒ¼ÓÔØMain.storyboardÖ¸¶¨µÄ¿ØÖÆÆ÷

c. °ÑеĿØÖÆÆ÷×÷Ϊ´°¿ÚµÄ¸ù¿ØÖÆÆ÷£¬²¢Èô°¿ÚÏÔʾ³öÀ´

2. ´°¿Ú(UIWindow)

a. UIWindowÊÇÒ»¸öÌØÊâµÄUIView£¬ÔÚÒ»¸öAPPÖÐÒ»°ã¶¼»áÓÐÒ»¸öUIWindows£¬µ«²»½öÖ»ÓÐÒ»¸ö£¬È磺Èí ¼üÅÌÒ²ÊÇÒ»¸ö´°¿Ú

b. APP³ÌÐòÆô¶¯Íê±Ïºó£¬´´½¨µÄµÚÒ»¸öÊÓͼ¿Ø¼þÊÇUIWindow£¬½Ó×Å´´½¨¿ØÖÆÆ÷µÄView£¬×îºó½«¿ØÖÆÆ÷µÄ viewÌí¼Óµ½UIWindowÉÏ£¬ÓÚÊÇ¿ØÖÆÆ÷µÄview¾ÍÏÔʾÔÚÆÁÄ»ÉÏ

c. Ò»¸öAPPÖ®ËùÒÔÄÜÏÔʾµ½ÆÁÄ»ÉÏ£¬ÍêÈ«ÊÇÒòΪÓÐUIWindow

d. UIScreen : ±êʶÎïÀíµÄÆÁÄ»£¬ËüÁ¬½Ó×ÅÉ豸

e. UIWindow : ÓÃÓÚÌṩÆÁÄ»»æÖÆÖ§³ÖµÄ£¬ÌṩÁËһЩ»æÍ¼µÄ·½·¨

f. UIView : ´°¿ÚÉÏÓкܶàView£¬ÊÇÓÃÓÚÌṩ»æÍ¼²Ù×÷µÄ£¬°Ñ»­ºÃµÄViewÌí¼Óµ½´°¿ÚÉÏ£¬¾Í¿ÉÒÔÏÔʾ£» ÆÁÄ»ÉϵĶ«Î÷¶¼ÊÇ»æÖÆÉÏÈ¥µÄ£¬Ë¢ÐÂÒ»±éÏ൱ÓÚÖØÐ»æÖÆÒ»±é

g. Ö»ÓмÓÔØMain.storyboardµÄʱºò²Å´´½¨´°¿Ú£¨ÕâÀï˵µÄ¼ÓÔØÊÇϵͳ×Ô¶¯¼ÓÔØ£©

h. Èç¹ûÊÇ×Ô¼º´úÂë¼ÓÔØMain.storyboard£¬ÐèÒª×Ô¼º´úÂë´´½¨´°¿Ú

3. ²¹³ä

a. Èç¹û°Ñд´½¨µÄ¿ØÖÆÆ÷µÄViewÓÃaddSubview:·½·¨Ö±½ÓÌí¼Óµ½´°¿ÚÉÏ£¬²»»áÓÐÐýת¹¦ÄÜ

b.ÉèÖô°¿ÚµÄ¸ù¿ØÖÆÆ÷rootViewController£¬»á×Ô¶¯°Ñ¿ØÖÆÆ÷µÄViewÌí¼Óµ½´°¿Ú

c. ²é¿´Ö÷´°¿Ú£ºapplication.keyWindow

d. ÏÔʾ´°¿Ú£ºself.window.hidden = NO;

e. ²é¿´³ÌÐòµÄËùÓд°¿Ú£ºapplication.Windows

4. addSubViewºÍrootViewControllerµÄÇø±ð

a. Ö±½ÓÓÃaddSubView£¬¿ØÖÆÆ÷»á±»ÊÍ·Å£¬¿ØÖÆÆ÷¾Í²»ÄÜ´¦Àíʼþ

b. Ö±½ÓÓÃaddSubView£¬¿ØÖÆÆ÷µÄview²»»á×Ô¶¯Ðýת

c. ÓÃrootViewController£¬¿ØÖÆÆ÷²»»á±»ÊÍ·Å£¬¶øÇÒ¿ØÖÆÆ÷µÄview»á×Ô¶¯Ðýת

d. Ðýתʼþ -> UIApplication -> Window -> rootViewController ->Ðýת¿ØÖÆÆ÷µÄview

5. makeKeyAndVisible·½·¨µ×²ãËù×öµÄÊÂÇé

a. °Ñ´°¿ÚÉèÖóÉÖ÷´°¿Ú£¬È磺application.keyWindow = self.window£»

b. ÏÔʾ´°¿Ú£¬È磺self.window.hidden = NO;

c. ×¢Ò⣺ËäÈ»µ×²ã»á×öÉÏÃæÁ½²½£¬µ«²»Ò»¶¨ÊÇÉÏÃæµÄ´úÂë

6. ´°¿ÚµÄ²ã¼¶

windowLevel: UIWindowLevelNormal < UIWindowLevelStatusBar < UIWindowLevelAlert

UIWindowLevelNormal : ĬÈÏ´°¿ÚµÄ²ã¼¶

UIWindowLevelStatusBar : ״̬À¸¡¢¼üÅÌ

UIWindowLevelAlert :UIActionSheet,UIAlearView

°ÑwindowµÄ²ã¼¶ÉèÖÃΪUIWindowLevelAlert £¬¾Í»áÏÔʾÔÚ×îÇ°Ãæ

Ïàͬ²ã¼¶µÄ´°¿Ú£¬ÏëÈÃÆäÖÐÒ»¸öÏÔʾ£¬¿ÉÒÔÓÃÄǸö´°¿ÚµÄ²ã¼¶¼ÓÉÏÒ»¸öÊý

7. ´úÂëÄ£·ÂstoryboardµÄ¼ÓÔØ

×¢£ºÒªÏ°¹ß´úÂë´´½¨´°¿ÚºÍ¿ØÖÆÆ÷£¬ÒòΪ¿ª·¢ÖкÜÉÙÓõ½storyboardÖ±½Ó¿ª·¢£¬ÀÏÏîÄ¿ÖÐûÓÐstoryboard

// ´´½¨´°¿Ú

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]

// ¼ÓÔØstoryboard

// Main.storyboardÎļþÃû²»ÓÃдºó׺

// µ±Ð´nilʱ£¬ÏµÍ³Ä¬ÈÏ[NSBundle mainBundle]

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

//´´½¨¿ØÖÆÆ÷

//·½Ê½1£º´úÂë´´½¨¿ØÖÆÆ÷

//UIViewController *vc = [[UIViewController alloc] init];

//vc.view.backgroundColor = [UIColor whiteColor];

//·½Ê½2£º¼ÓÔØstoryboardÀïÃæÓмýÍ·µÄ¿ØÖÆÆ÷

//UIViewController *vc = [storyboard instantiateInitialViewController];

// µ±¼ÓÔØstoryboardÀïÃæµÄ¿ØÖÆÆ÷£¬¿ØÖÆÆ÷ËùÊôÄĸöÀ࣬¾ÍÊÇ´´½¨ÄĸöÀà

//NSLog(@"%@",NSStringFromClass([vc class]));

//·½Ê½3£ºstoryboardÀïÃæÓжà¸ö¿ØÖÆÆ÷£¬¼ÓÔØ¶ÔÓ¦±êʶµÄ¿ØÖÆÆ÷

UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"B"];

//´´½¨´°¿ÚµÄ¸ù¿ØÖÆÆ÷

self.window.rootViewController = vc;

// ÏÔʾ´°¿Ú

[self.window makeKeyAndVisible];

(ËÄ). ͨ¹ýXIB´´½¨¿ØÖÆÆ÷µÄview

1. ²½Öè

a. ´´½¨Ò»¸ö¿ØÖÆÆ÷µÄÀà

b. ´´½¨Ò»¸öxib£¬²¢Ö¸¶¨xibËùÃèÊöµÄ¿ØÖÆÆ÷£¬Ò»¸öxibÖ»ÄÜÓÃÀ´ÃèÊöÒ»¸ö¿ØÖÆÆ÷£¬Èç¹ûûÓÐÖ¸¶¨£¬¾Í²»ÄÜÍÏÏßÖ¸¶¨¿ØÖÆÆ÷µÄview

×¢Ò⣺xibÀï¿ÉÒÔÓжà¸öUIView£¬²»Ä̶ܹ¨ËÀ

c. ÍÏÏßÖ¸¶¨xibÖÐÄĸöUIViewÊÇ¿ØÖÆÆ÷µÄview

Ñ¡ÖÐFile`s Owner£¬ÓÒ¼üµ¥»÷ºó£¬ÔÚµ¯³öµÄ¶Ô»°¿òÉÏÍÏÏß

d. ´úÂë¼ÓÔØxibÖÐÃèÊö¿ØÖÆÆ÷µÄview

  //´´½¨´°¿Ú

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

// ·½Ê½Ò»£ºÃ÷È·initWithNibName:·½·¨µÄÁ½¸ö²ÎÊý

//UIViewController *vc = [[ViewController alloc] initWithNibName:@"View" bundle:[NSBundle mainBundle]];

// ·½Ê½¶þ£ºinitWithNibName:·½·¨µÄÁ½¸ö²ÎÊý£¬Ö»Ã÷È·µÚÒ»¸ö²ÎÊý£¬Ê¡ÂÔµÚ¶þ¸ö²ÎÊý

// bundleдnilʱ£¬ÏµÍ³Ä¬ÈÏ[NSBundle mainBundle]

//UIViewController *vc = [[ViewController alloc] initWithNibName:@"View" bundle:nil];

// ·½Ê½Èý£ºinitWithNibName:·½·¨µÄÁ½¸ö²ÎÊý¶¼Ê¡ÂÔ

//UIViewController *vc = [[ViewController alloc] initWithNibName:nil bundle:nil];

// ·½Ê½ËÄ£ºµ÷ÓÃinit·½·¨

UIViewController *vc = [[ViewController alloc] init];

// ÉèÖô°¿ÚµÄ¸ù¿ØÖÆÆ÷

self.window.rootViewController = vc;

// ÉèÖóÌÐòµÄÖ÷´°¿Ú²¢ÏÔʾ´°¿Ú

[self.window makeKeyAndVisible];

2. ×¢Òâ

Ö»ÓпØÖÆÆ÷µÄinit·½·¨£¬µ×²ã²Å»áµ÷ÓÃinitWithNibName:bundle:·½·¨

3. viewµÄ´´½¨

a. Èç¹ûÖØÐ´loadView£¬¾Í¸ù¾Ý×Ô¶¨ÒåµÄview´´½¨view

b. Èç¹ûûÓÐÖØÐ´loadView£¬¾ÍÈ¥²é¿´ÓÐûÓÐstoryboard£¬ÓÐstoryboard£¬¾Í¸ù¾ÝstoryboardÀïÃèÊöµÄview´´½¨£»

c. Èç¹ûûÓÐstoryboard£¬¾ÍÈ¥²é¿´ÓÐûÓÐÖ¸¶¨µÄxib£¬ÓÐÖ¸¶¨µÄxib£¬¾Í¸ù¾ÝxibÀïÃèÊöµÄview´´½¨£»

d. Èç¹ûûÓÐÖ¸¶¨µÄxib£¬¼´nibNameΪnilʱ£¬¾Í²é¿´ÓÐûÓÐÓëxibµÄÓµÓÐÕßͬÃûµÄxib£¬µ«ÓÅÑ¡²é¿´Ã»ÓÐController µÄxib£¬Èç¹û²é²»µ½£¬¾Í²é¿´ÓÐûÓÐÓëxibµÄÓµÓÐÕßÍêȫͬÃûµÄxib£¬È磺xibµÄÓµÓÐÕßÊÇViewController£¬xibµÄÎļþ ÃûÊÇView£¬¾ÍÓÅÏȲ鿴View.xib£¬¸ù¾ÝËüÃèÊöµÄview´´½¨£»Èç¹ûûÓÐÎļþÃûΪViewµÄxib£¬¾ÍÈ¥²é¿´ÓÐûÓÐÃû×ÖΪ ViewControllerµÄxib£¬Èç¹ûÓо͸ù¾ÝxibÀïÃèÊöµÄview´´½¨

e. Èç¹ûÒÔÉϵÄÇé¿ö¶¼Ã»ÓУ¬¾Í´´½¨Ò»¸ö¿ÕµÄView

 

4. ¿ØÖÆÆ÷µÄloadView·½·¨

A. loadViewµÄ×÷Óãº×Ô¶¨Òå¿ØÖÆÆ÷µÄview£¬Ö»ÒªÖØÐ´ÁËÕâ¸ö·½·¨£¬ËµÃ÷Òª×Ô¼º´´½¨view£¬¾Í²»»á×Ô¶¯´´½¨view

B. loadViewʲôʱºòµ÷Ó㺵ÚÒ»´ÎʹÓÃviewµÄʱºòµ÷Ó㬵÷ÓÃÕâ¸ö·½·¨´´½¨¿ØÖÆÆ÷µÄview¡£

C. loadViewĬÈÏ×ö·¨£ºÈç¹ûstoryboardÃèÊöÁË¿ØÖÆÆ÷µÄview£¬¾Í»áÈ¥¼ÓÔØstoryboardµÄview

D. ×¢Ò⣺

a. Ö»ÒªÖØÐ´loadView·½·¨£¬Ã»Óе÷ÓÃϵͳĬÈϵÄ×ö·¨£¬¼´²»Ð´[super loadView]£¬¾Í²»»áÈ¥¼ÓÔØstoryboard»òÕßxibÀ´ÃèÊö¿ØÖÆÆ÷µÄview

b. Èç¹ûÖØÐ´loadView·½·¨£¬²¢ÇÒÖ¸¶¨ÁËnibName£¬loadViewĬÈϵÄ×ö·¨»áÈ¥¼ÓÔØxibµÄview

c. Ö»ÒªÖØÐ´loadView·½·¨£¬Ã»ÓÐÖ¸¶¨nibName£¬¾Í²»»á×Ô¶¯È¥¼ÓÔØºÍ¿ØÖÆÆ÷ͬÃûµÄxib

d. ÔÚÖØÐ´loadViewʱ£¬Ã»Óиøself.view´´½¨view£¬¾ÍʹÓÃself.view£¬»áÔì³ÉËÀÑ­»·

e. Èç¹ûÊǸù¿ØÖÆÆ÷µÄview£¬×Ô¶¨ÒåviewµÄʱºò¿ÉÒÔ²»ÉèÖóߴ磬ϵͳ»á×Ô¶¯ÉèÖ㻲»ÊǸú¿ØÖÆÆ÷¾Í²»ÐУ»¿ÉÒÔÓÃCGRctZeco±íʾ£¬È磺self.view = [[UIView alloc] initWithFrame: CGRctZeco];

f. ÖØÐ´loadView·½·¨Ê±£¬²»ÒªÐ´[super loadView];,ÒòÎªÖØÐ´¸Ã·½·¨µÄÄ¿µÄÊÇ×Ô¶¨Òåview£¬ÖØÐ´ÁË»¹ÒªÈ¥¼ÓÔØstoryboardÀïµÄview£¬

µÈÓÚ¶à´ËÒ»¾Ù

 

5. xibºÍstoryboardµÄÇø±ð

storyboardÒѾ­Ö¸¶¨ÁË¿ØÖÆÆ÷µÄview,²»ÐèÒªÎÒÃǹܣ¬xibÐèÒªÎÒÃÇÊÖ¶¯¹ÜÀí

6. ÈçºÎ¿ìËÙÉú³ÉÒ»¸öxibÃèÊö¿ØÖÆÆ÷µÄview

¶¨ÒåеĿØÖÆÆ÷µÄʱºò£¬¹´Ñ¡xib£¬»á×Ô¶¯¸ãÒ»¸öxibÃèÊö¿ØÖÆÆ÷µÄview

»á×Ô¶¯Éú³ÉÒ»¸öºÍ¿ØÖÆÆ÷ͬÃûµÄxib£¬²¢ÇÒÀïÃæÉèÖúÃÁË

(Îå). ¿ØÖÆÆ÷µÄView

1. viewµÄÉúÃüÖÜÆÚ

Ö»ÒªÊÇView¿ªÍ·µÄ¶¼ÊÇViewµÄÉúÃüÖÜÆÚ·½·¨

loadView£ºµÚÒ»´ÎʹÓÃviewµÄʱºòµ÷ÓÃ

viewDidLoad£º¿ØÖÆÆ÷µÄview¼ÓÔØÍê³ÉµÄʱºòµ÷ÓÃ

viewWillAppear£º¿ØÖÆÆ÷µÄview¼´½«ÏÔʾµÄʱºòµ÷ÓÃ

viewDidAppear£º¿ØÖÆÆ÷µÄviewÍêÈ«ÏÔʾµÄʱºòµ÷ÓÃ

viewWillDisappear£º¿ØÖÆÆ÷µÄview¼´½«ÏûʧµÄʱºòµ÷ÓÃ

viewDidDisappear£º¿ØÖÆÆ÷µÄviewÍêÈ«ÏûʧµÄʱºòµ÷ÓÃ

viewWillLayoutSubviews£º¿ØÖÆÆ÷µÄview¼´½«²¼¾ÖµÄʱºòµ÷ÓÃ

viewDidLayoutSubviews£º¿ØÖÆÆ÷µÄviewÍêÈ«²¼¾ÖµÄʱºòµ÷ÓÃ

viewWillUnload£º¿ØÖÆÆ÷µÄview¼´½«Ïú»Ù

viewDidUnload£º¿ØÖÆÆ÷µÄviewÍêÈ«Ïú»Ù

2. Äڴ澯¸æ´¦Àí

a. ´¦Àí¹ý³Ì

ÓÐÄڴ澯¸æ -> µ÷ÓÃdidReceiveMemoryWarning·½·¨ -> ÅжϿØÖÆÆ÷µÄView´æ²»´æÔÚ -> ´æÔÚ¾ÍÅжÏÄܲ»Äܱ»ÊÍ·Å(ÅжÏÊDz»ÊÇÕýÔÚÏÔʾÔÚ½çÃæÉÏ) -> ÄÜÊͷž͵÷ÓÃViewWillUnload -> ÍêÈ«Êͷźó¾Íµ÷ÓÃViewDidUnload

b. ×¢Òâ

Äڴ澯¸æ´¦Àíʱ£¬ViewWillUnloadºÍViewDidUnload²»Ò»¶¨±»µ÷Óã¬ÒòΪÕâÊÇϵͳ×Ô¶¯Åжϵġ£

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

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

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

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

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


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


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