[英]Initialize NSMutableDictionary
我正在開發一個iOS應用程序,我想在其中使用NSMutableDictionary
。 基本上我正在做的是將java代碼轉換為objectiveC。
所以在java中我有這樣的東西:
Map<String, ClassA> dict1 = new HashMap<>();
Map<Integer,Character> dict2 = new HashMap<>();
Map<Integer, Map<String,String>> dict3 = new HashMap<>();
有人可以指導我使用NSMutableDictionary
的上述三行的Obj-C等效代碼,以及如何在字典中設置和獲取對。
Objective-C集合類不是強類型的,因此將使用以下命令創建所有三個字典:
NSMutableDictionary *dictX = [NSMutableDictionary new];
為了填充字典,請使用[NSMutableDictionary setObject:forKey:]
:
[dict1 setObject:classAInstance
forKey:@"key1"];
[dict2 setObject:[NSString stringWithFormat:@"%c", character]
forKey:@(1)];
[dict3 setObject:@{ @"innerKey" : @"innerValue" }
forKey:@(2)];
等等
由於Objective C沒有泛型類型,所以你需要輸入的是:
NSMutableDictionary *dict1 = [[NSMutableDictionary alloc] init];
NSMutableDictionary *dict2 = [[NSMutableDictionary alloc] init];
NSMutableDictionary *dict3 = [[NSMutableDictionary alloc] init];
有幾種方法可以獲取和設置值。 簡寫形式很像訪問數組。 要用速記設置值:
dict1[@"key"] = @"value";
要獲得速記值:
NSString *value = dict1[@"key"];
更詳細的語法是這樣的:
[dict1 setObject:@"value" forKey:@"key"];
NSString *value = [dict1 valueForKey:@"key"];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.