添加新项目到NSDictionary不起作用

时间:2013-06-11 04:25:02

标签: xamarin.ios nsdictionary

我使用Xamarin.ios和以下代码:

var dict = NSUserDefaults.StandardUserDefaults.DictionaryForKey("TheDictKey");
if (dict == null)
{
    dict = new NSDictionary();
    NSUserDefaults.StandardUserDefaults.SetValueForKey(dict,(NSString)"TheDictKey");
}
dateTime = dateTime.ToUniversalTime();
dict[(NSString)"ValueKey"] = new NSString("Value"); //<------ throw exception here

最后一句话总是引发异常“NotSupported”。

如何更新字典? 感谢

1 个答案:

答案 0 :(得分:1)

这是因为NSDictionary是不可变的。这意味着在创建之后,您无法更改它。请将NSMutableDictionary用于此目的,这是NSDictionary的子类。

来自Apple的NSDictionary参考:

NSDictionary creates static dictionaries, and NSMutableDictionary creates dynamic dictionaries.

此处:click