int retVal = UIApplicationMain(argc, argv, nil, nil);
2.当application对象设置完成后,给其代理发送application:didFinishLaunchingWithOptions:消息
3.几个设计模式:delegation,MVC,Target-Action
delegation,一个对象发送消息给其代理对象,询问数据输入或者通知其某事件的发生。协议就是一些代理方法的列表,如果一个对象遵守协议,则其要实现协议中的方法。
MVC,model对象表示数据对象,view对象负责显示数据对象,controller对象负责协调两者
Target-Action机制让一个代表control的视图对象响应一个用户事件,并发送消息到目标对象。
4.应当尽量避免使用autorelease
5.UIWindow类有一个rootViewController属性,该根视图控制器用来为window对象提供视图。
6.视图控制器的视图一般来自nib文件,通过在视图控制器初始化时指定需要载入的nib文件来添加view。
7.视图控制器的-(void)loadView方法,永远不要直接调用该方法。当视图控制器的view被调用且其为nil时,该方法被调用。如果你没有使用nib文件,那么应该重载此方法,也就是子类用来创建自定义视图层次。如果你使用nib文件,则不要重载该方法。此方法默认的实现是查找有效nib信息,并使用该信息来载入相关nib文件。如果你重载此方法来手动创建视图,那么应该将你视图层次的根视图赋给view属性,重载该方法时不能调用super
8.如果想要添加其他视图初始化内容,使用viewDidLoad方法,并要在viewDidUnload中释放对视图或者其内容的引用
9.-(id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
如果nibName为nil,那要么重载loadView并创建视图,要么提供一个与视图控制器类名字相同的nib文件。如果nibBundle为nil,该方法在main bundle中查找nib文件。nib文件并不会马上被载入,当第一次访问视图控制器的view时才被载入。
10.nib文件中的file's owner并不是在nib文件载入中被创建的,它表示载入该nib文件的对象
11.You should only get and set instance variables directly in init
and dealloc
methods.