Передача NSDictionary функции, чтобы добавить объекты / ключи, но обнаруживается пустой в main ()
Я новичок в Objective C и у меня возникли проблемы с добавлением в мой NSMutableDictionary. У меня есть класс Thing, который содержит следующий метод.
-(BOOL) addThing:(Thing*)myThing withKey:(NSString*)key inDictionary:(NSMutableDictionary*) myDictionary
{
if(!myDictionary) { //lazy initialization
myDictionary = [NSMutableDictionary dictionary];
[myDictionary setObject:myThing forKey:key];
return YES;
}
else {
if(![myDictionary allKeysForObject: _monster]) {
[myDictionary setObject:record forKey:key];
return YES;
}
else {
NSLog(@"The username %@ already exists!", _monster);
return NO;
}
}
}
Но когда я вызываю его в main (), словарь по-прежнему отображается пустым.
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableDictionary *myDictionary;
Thing *foo = [Thing thingWithName:@"Frankenstein" andFeature:@"green"];
[foo addThing:foo withKey:@"foo" inDictionary:myDictionary];
if([myDictionary count] > 0) {
NSLog(@"I'm not empty!");
}
else {
NSLog(@"Dictionary is empty");
}
//Prints out "Dictionary is empty"
}
return 0;
}
Если я проверю счет непосредственно внутри моего метода addThing, он выведет «Я не пустой!». Я не уверен, что я делаю неправильно.