在Objective C中创建对象时,如何初始化实例变量?

时间:2011-03-18 12:39:02

标签: objective-c constructor

在C ++中我会在构造函数中执行此操作,但在Objective C上我不知道我应该如何初始化它。

例如,我有一个必须是字典的成员变量,我想初始化这个字典。

3 个答案:

答案 0 :(得分:3)

当你说初始化字典时,我假设你只是想为它分配内存。如果是这样,您可以执行以下示例:

- (id) init {
    self = [super init];
    if (self != nil) {
        _privateDict = [[NSMutableDictionary alloc] initWithCapacity:40];
    }
    return self;
}

答案 1 :(得分:2)

答案 2 :(得分:2)

通常,您使用init方法。例如:

Myclass *anInstance = [[MyClass alloc] init];

某些类具有将采用参数的专用初始值设定项。一个典型的例子是您实现的任何UIViewController子类。这看起来很熟悉吗?

MyUIViewController *viewController = [[MyUIViewController alloc] initWithNibNamed: @"MyUIViewController" bundle: nil];

注意initWithNibNamed位。您也可以编写自定义初始化程序。我建议阅读别人写的代码。寻找初始化器并尝试理解它是如何写入/“设置”的。

要制作字典,您可以使用NSDictionaryNSMutableDictionary。那些有几个初始化器。您可以使用initWithObjects:然后传入一堆对象来存储在字典中。