UINavigationController, UITabBarController 这些可以放置多个viewController,负责这些viewController 进行切换的控制器,就叫做容器控制器
容器 UINavigationController * navigtioncontroller = [[UINavigationController alloc] initWithRootViewController:controller]; 自己创建navigationController不就行然后再UITabbarController的每一个tab对应一个navigationController, 然后一层层push                                                                                                                                                                                                                                                                shift + comd + k 清除缓存第三方
ctrl + comd + 空格 小表情
1.CollectionView
2.MRC&ARC
Objective-c中提供了两种内存管理机制MRC(MannulReference Counting)和ARC(Automatic Reference Counting),分别提供对内存的手动和自动管理,来满足不同的需求。注意的是Xcode 4.1及其以前版本没有ARC,MRC. 
1⃣️. Objective-c语言中的MRC(MannulReference Counting)
在MRC的内存管理模式下,与对变量的管理相关的方法有:retain,release和autorelease。retain和release方 法操作的是引用记数,当引用记数为零时,便自动释放内存。并且可以用NSAutoreleasePool对象,对加入自动释放池(autorelease 调用)的变量进行管理,当drain时回收内存。
(1)      retain,该方法的作用是将内存数据的所有权附给另一指针变量,引用数加1,即retainCount+= 1;
(2)      release,该方法是释放指针变量对内存数据的所有权,引用数减1,即retainCount-= 1;(3)      autorelease,该方法是将该对象内存的管理放到autoreleasepool中。
示例代码:
假设Number为预定义的类
Number* num = [[Number alloc] init];
Number* num2 = [num retain];//此时引用记数+1,现为2
[num2 release]; //num2 释放对内存数据的所有权 引用记数-1,现为1;
[num release];//num释放对内存数据的所有权 引用记数-1,现为0;
[num add:1 and 2];//bug,此时内存已释放。
2⃣️. Objective-c语言中的ARC(AutomaticReference Counting)
 
在ARC中与内存管理有关的标识符,可以分为变量标识符和属性标识符,对于变量默认为__strong,而对于属性默认为unsafe_unretained。也存在autoreleasepool。
 
posted on 2015-11-21 16:51  sharkHZ  阅读(187)  评论(0编辑  收藏  举报