Передача 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, он выведет «Я не пустой!». Я не уверен, что я делаю неправильно.

Ответы на вопрос(2)

Ваш ответ на вопрос