自定义类=自定义+分配,自定义+初始化

自定义类=自定义+分配,自定义+初始化

问题描述:

我是新的目标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,并检查它的工作,初始化自己的变量之前。

+0

太好了,谢谢你的回答 – jhon 2010-07-27 21:57:31

你应该NEVER覆盖alloc

至于init,这是一个实例方法,顺便说一句,,这将是在那里你可能要设置的变量的地方。

+0

我现在读了几次。但是,我想知道,是语言还是框架的属性(哈哈,看看我做了什么?* g *)? 换句话说,如果我不从NSObject派生我的类,并且不告诉编译器使用Foundation,那么@synthesize仍然可以工作吗? – 2013-12-06 06:08:15