custom class = custom + alloc,custom + init

时间:2010-07-27 17:47:06

标签: objective-c

我是iphone的新目标c。

我正在编写一个自定义类,那么,我应该编写自己的+ alloc,+ init方法吗? 我相信:+ alloc只会调用[thing alloc];并且+ init将执行类似:[thing setValue:X];

是否有“默认”+ alloc和+ init方法? 如果是的话,我应该等待默认的+ alloc和+ init ?,假设我有一个NSMutableDictionary * 即。

@interface class1 : NSObject {

    NSString *test; 
    NSMutableDictionary *map;
}

感谢

2 个答案:

答案 0 :(得分:5)

您通常不需要编写自己的+ alloc方法。

对于您的示例,您可能具有如下所示的-init:

- (id)init {
    self = [super init];
    if (self) {
        map = [[NSMutableDictionary dictionary] retain];
    }
    return self;
}

请注意,在初始化自己的变量之前,首先调用超类-init并检查它是否有效。

答案 1 :(得分:2)

你应 覆盖alloc

至于init,这是一个实例方法,顺便说一下,,这可能是您可能想要设置的地方你的变量。