2015-10-23 1 views
0

У меня есть NSObject с информацией о моем профиле. Массив с моими любимыми цветами и любимыми номерами, а также строкой с именем моего лучшего друга.Как я могу изменить значение NSObject по ключу?

{ 
favoriteColors =  (
    Green, 
    Blue, 
    Orange 
); 
favoriteNumbers =  (
    3, 
    16, 
    20 
); 
bestFriend = Josh; 
} 

Теперь, я хочу обновить информацию о моем профиле и заменить мой bestFriend на «Alex».

Я ищу функцию, которая будет делать это:

[profileInformation replaceAtKeyPath:@"bestFriend" with: @"Alex"]; 

Многие вещи я пытаюсь дать ошибки говорят «Выражение не может быть назначен», такие как

[profileInformation valueForKeyPath:@"bestFriend"] = @"Alex"; 

ответ

2

Что вы ищете для называют ХВК (NSKeyValueCoding)

[profileInformation setValue:@"Alex" forKey:@"bestFriend"] 

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSKeyValueCoding_Protocol/#//apple_ref/occ/instm/NSObject/setValue:forKeyPath:

Также обратите внимание, что NSKeyValueCoding является неофициальным протоколом, что означает, что все NSObjects автоматически соответствуют ему. Вот почему автозаполнение Xcode позволит вам позвонить -setValue:forKey: по любому объекту Objective-C Foundation

 Смежные вопросы

  • Нет связанных вопросов^_^