我是Objective-c的新手。
我有两个无关的问题。
我是否必须在接口部分定义变量,即使我为它创建了一个属性?我什么时候必须在viewUnload部分中将变量设置为nil?
答案 0 :(得分:0)
创建时需要完成的过程是什么 实例变量或属性?
合成属性是声明其ivar,并定义访问器方法,而不是分配和初始化它。您需要在适当的时间点初始化它(通常在某些-init*
中初始化对象实例期间或在即将显示视图之前,例如在-viewDidLoad
中)。
定义时强,弱,非原子,原子,赋值等有什么区别 属性?什么时候我应该强,弱,非原子,原子,分配等?
强弱,赋值是修饰符,可以改变对象实例的引用方式。请参阅自动参考计数的文档。(Wikipedia和Apple's Documents)
非原子和原子是改变访问器合成方式的修饰符。请参阅this的声明的属性部分。
我是否必须在接口部分定义变量,即使我为它创建了一个属性?
没有。至于现在,您不需要,因为最新SDK中的编译器会为您执行这些操作。例如,如果您声明了一个属性:@property (strong, nonatomic) NSData *data1;
,那么即使您省略了@synthesize语句,也可以免费获得ivar NSData *_data1
。
我什么时候必须在viewUnload部分中将变量设置为nil?
没有。 BTW,{6.0}中不推荐使用-viewDidUnload
。