在C++中,我會在構造函數中做到這一點,但在Objective C上,我不知道該如何初始化它。如何在Objective C中創建對象時初始化實例變量?
例如我有一個成員變量必須是一個字典,我想初始化這個字典。
在C++中,我會在構造函數中做到這一點,但在Objective C上,我不知道該如何初始化它。如何在Objective C中創建對象時初始化實例變量?
例如我有一個成員變量必須是一個字典,我想初始化這個字典。
一般來說,您使用init
方法。例如:
Myclass *anInstance = [[MyClass alloc] init];
某些類具有專門的初始化工具,它將接受參數。一個典型的例子是你實現的任何UIViewController子類。這看起來很熟悉嗎?
MyUIViewController *viewController = [[MyUIViewController alloc] initWithNibNamed: @"MyUIViewController" bundle: nil];
注意initWithNibNamed
位。您也可以編寫自定義初始化程序。我建議閱讀別人寫的代碼。查找初始化程序並嘗試瞭解它是如何寫入/「設置」的。
要製作字典,您可以使用NSDictionary
或NSMutableDictionary
。那些有幾個初始化程序。您可以使用initWithObjects:
,然後傳入一堆對象以存儲在字典中。
當你說初始化字典時,我假設你只是想爲它分配內存。如果是這樣,你可以做下面的例子:
- (id) init {
self = [super init];
if (self != nil) {
_privateDict = [[NSMutableDictionary alloc] initWithCapacity:40];
}
return self;
}