2016-05-10 10 views
3

在我的根視圖控制器(名爲rootViewController.h)後,我有一個屬性Objective C的屬性設置爲null使用

@property (nonatomic, strong) NSDictionary *contactList; 

我試着去儲值本詞典。林傳遞的財產,以我的函數

AddContact *addContact = [[AddContact alloc]init]; 
NSString *result = @""; 
result = [addContact addContact:user :[self contactList]]; 

當我去我的addContact功能和斷點時,contactList爲空,即使我使用這段代碼加5倍的contactList。

User *newUser = [[User alloc]init]; 
newUser.name = user.name; 
newUser.phoneNumber = user.phoneNumber; 
newUser.companyName = user.companyName; 
[contactList setValue:newUser forKey:newUser.name]; 

幫助

+0

[addContact addContact:user:[self contactList]]; 這個函數似乎沒有正確格式化,你可以粘貼函數定義行嗎? – Mortgy

+0

添加了函數定義。 – EdBer

+0

定義線如' - (void)addContact:(User *)user FromDicit:(NSDictionary *)dict;'你的定義是這樣嗎? – Mortgy

回答

5

嘗試使用NSMutableDictionary,如果你想改變它。初始化後無法編輯NSDictionary

+0

謝謝!你的回答是對的。 :) – EdBer

1

如果你想改變你的詞典中,你需要創建是可變的像

@property (nonatomic, strong) NSMutableDictionary *contactList; 

按照規則,如果你使用的是你需要的alloc可變對象,初始化它

所以在視圖的didLoad方法

_contactList = [[NSMutableDictionary alloc] init] ; 
+0

工作得很好:)謝謝但@PRECover已經回答了。 – EdBer

0

您必須初始化contactList。您尚未初始化contactList,因此未設置該值。如果您想稍後更改值,則可以使用可變字典。請確保被添加到contactList中的值不爲空,否則它們將不會被添加到contactList,因此字典中不會有任何對象。