0

当我alloc在我创建的类上使用时(例如在具有底层NSMutableArray对象的堆栈类上)它会将 alloc 应用于它的所有属性吗?还是我必须重写该alloc方法以确保alloc在属性上调用 ?

4

3 回答 3

2

不会为您分配所有属性。
但是,不要为此覆盖 alloc,覆盖 init 以分配和初始化属性。

于 2012-09-16T20:47:28.947 回答
2

您不需要重写 alloc 方法,属性将为您初始化为它们的默认值,即对象为 nil,原始类型为默认值。

所以你需要做的就是:

[[myObject alloc] init]; or the shortcut [myObject new];

您不能覆盖 alloc 方法,所有属性都将设置为其默认值。但是,您可以覆盖 init,将初始值设置为属性(而不是它们的默认值):

- (id) init {
   self = [super init];
     if (self) {
       //initialize some properties
     }
   return self;
}
于 2012-09-16T20:48:10.863 回答
1

通常,不会为您分配属性。但是,您在 IB 中添加并设置为网点的网点将自动创建。

于 2012-09-16T20:44:31.147 回答