我想遍歷NSDictionary並將該字典中的所有值添加到對象。所以我將新的可可類文件添加到我的項目中,並將其與NSObject進行了分類。 (把它命名爲customClass) 在我的自定義class.h:迭代NSDictionary以將值添加到對象
- (void)printDir; // iterate through the direcory and print it.
@property (nonatomic, retain) NSMutableDictionary *objDictionary;
在customClass.m printDir方法的認定中是:
- (void)printDir {
_objDictionary = [[NSMutableDictionary alloc ]init];
for(id key in _objDictionary) {
id value = [_objDictionary objectForKey:key];
NSLog(@"Values in Objects Dictionary");
NSLog(@"%@",value);
}
}
在我ViewController.mi正嘗試通過迭代NSDirectory並將該目錄的所有值添加到該對象的NSMutableDictionary。對於這,
for(id key in jsonDictionary.allKeys) {
id value = [jsonDictionary objectForKey:key];
[obj.objDictionary setObject:value forKey:key];
}
當我運行該項目的對象printDir方法被調用,但for循環不執行。有人可以指出我哪裏出錯了。謝謝。
檢查字典是否爲空或包含值? – Signare
jsonDictionary包含很多鍵值,所以這不是問題。 –
實際上你是否[[alloc] init]有一個新的'NSMutableDictionary'並且在任何時候都將它賦值給'objDictionary'?如果不是,它將是零,因此'setObject:'不會做任何事情。你也可以直接說'obj.objDictionary = [[NSDictionary dictionaryWithDictionary:jsonDictionary] mutableCopy]' – Paulw11