自定义类=自定义+分配,自定义+初始化
问题描述:
我是新的目标C为iPhone。自定义类=自定义+分配,自定义+初始化
我写了一个自定义类,那么,我应该写我自己的+ alloc,+ init方法吗? 我相信:+ alloc只会调用[thing alloc];并且+ init会执行如下操作:[thing setValue:X];
是否存在“默认”+ alloc和+ init方法? 如果是的话,我应该等待默认+ alloc和+初始化?比方说,我有一个的NSMutableDictionary * 即
@interface class1 : NSObject {
NSString *test;
NSMutableDictionary *map;
}
感谢
答
您通常不需要编写自己的+ alloc方法。
对于你的榜样,你可能有一个看起来像一个-init:
- (id)init {
self = [super init];
if (self) {
map = [[NSMutableDictionary dictionary] retain];
}
return self;
}
请注意,您首先调用父类的-init
,并检查它的工作,初始化自己的变量之前。
答
你应该NEVER覆盖alloc
。
至于init
,这是一个实例方法,顺便说一句,是,这将是在那里你可能要设置的变量的地方。
+0
我现在读了几次。但是,我想知道,是语言还是框架的属性(哈哈,看看我做了什么?* g *)? 换句话说,如果我不从NSObject派生我的类,并且不告诉编译器使用Foundation,那么@synthesize仍然可以工作吗? – 2013-12-06 06:08:15
太好了,谢谢你的回答 – jhon 2010-07-27 21:57:31