Ò».
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
|
|
|