今天学习了UIViewController, 小结如下:
1 和view的关系:通过loadView可以加载一个View 的类,也可以通过代码的方式和view发生关联。每个view controller都有个root view 还有若干个子view,如:button label date pick view等。他们是层级关系。
2 UITabBarController作为window的root controller。他的view controllers属性是个数组,数组中存放每个viewcontroller的实例指针。第一个是默认显示的viewcontroller. 每个viewcontroller内有个属性叫tabbaritem,它里面有两个属性,title和image用来设置其在tabbar中的标题和图片。所以,tabbar的标题和图片不是在tabbarcontroller里设置的。
3 懒加载
是指在需要显示view 的时候才显示view。所以一定不能在初始化方法中访问view的属性。如果需要可以在viewdidload 或 viewwillappear
中访问。它们加载的次数有不同。前者只在nib 文件读取完加载一次,后者每次进入都会加载。
4 UIViewController的指定初始化方法是init with nibname这里nibname 是对应xib 文件名,如果不指定而用init 方法初始化也可以,这时init 会自动调用制定初始化方法init with nib name 。这就要求xib 文件名需要和viewcontroller名相同。