Я был в тупике с этим последние несколько дней, я немного новичок в цели-c.
У меня есть до 3 объектов NSDictionary, сохраненных в NSUserDefaults с ключами «один», «два» и «три» (все содержимое словарей - строки NSStrings, поэтому должно быть хорошо, что они сохранены в NSUserDefaults ).
Я пытаюсь загрузить эти три NSDictionaries в NSMutableDictionary, когда открывается представление, но по какой-то причине они не добавляются.
@synthesize serverDict;
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[serverDict removeAllObjects];
NSDictionary *favs;
NSArray *serverList = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
for (id server in serverList) {
favs = [[NSUserDefaults standardUserDefaults] dictionaryForKey:server];
if ((favs != nil) && ([favs count] != 0)) {
[serverDict setObject:favs forKey:server];
NSLog(@"server:%@, objects in server:%d",server, [favs count]);
//This outputs:
//"server:one, objects in server:2"
//"server:three, objects in server:2"
}
}
NSLog(@"[serverDict count] = %d", [serverDict count]);
//This outputs:
//"[serverDict count] = 0"
for (id key in serverDict) {
NSLog(@"serverDict key: %@, value: %@", key, [serverDict objectForKey:key]);
//No Output here
}
}
Это в .h файле
@interface FavoritesViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {
...
NSMutableDictionary *serverDict;
}
@property (nonatomic, retain) NSMutableDictionary *serverDict;
@end
Из комментариев (NSLogs) мы видим, что словари существуют в NSUserDefaults, но они не добавляются в serverDict.
Любая помощь будет оценена !! Я все еще на стадии изучения цели-c ...
Спасибо !!