2011-06-09 16 views
5

ऑब्जेक्टिव-सी में मानों, मैं एक शब्दकोश है। मैं एक सुविधा प्रारंभकर्ता बनाना चाहता हूं जो एक शब्दकोष को तर्क के रूप में लेता है और शब्दकोश ऑब्जेक्ट फ़ील्ड (स्मृति प्रबंधन उद्देश्यों के लिए उनके गुणों के माध्यम से) को मैन्युअल रूप से कुछ करने की बजाय,गतिशील रूप से वस्तु के गुण को पॉप्युलेट शब्दकोश साथ

obj.firstName = [dict objectForKey:@"firstName"]; 
obj.lastName = [dict objectForKey:@"lastName"]; 
obj.age = [dict objectForKey:@"age"]; 
.... 

मैं यह कैसे कर सकता हूं?

उत्तर

20

आप Key-Value Coding उपयोग कर सकते हैं:

[obj setValuesForKeysWithDictionary:dict]; 

भी देखें the documentation for -setValuesForKeysWithDictionary:

+1

वाह जो सरल था ... धन्यवाद! – jrdioko

+0

क्या दूसरी तरफ जाने के लिए एक समान विधि है (वस्तु को शब्दकोश में परिवर्तित करें)? – ebi

+0

@ebi '-dictionaryWithValuesForKeys: ', जिसका दस्तावेज़ एक ही पृष्ठ पर है। –