2011-10-06 43 views
1

我從JSON響應,我轉移到一個數組數據如下所示以編程方式將數據從JSON加載到對象?

  originalPerson.firstname = [memberData valueForKey:@"firstname"]; 
      originalPerson.lastname = [memberData valueForKey:@"lastname"];        
      originalPerson.address1 = [memberData valueForKey:@"address1"]; 

有一種方法來處理這種在循環中不是通過打字的每一行了呢? TIA

回答

2

如果該類的實例originalPerson的是鍵 - 值編碼(KVC)兼容,你可以,如果成員的數據是一個字典使用類似

for (NSString* key in [NSArray arrayWithObjects:@"firstname", @"lastname", @"address1", nil]) { 
    [originalPerson setValue:[memberData valueForKey:key] forKey:key]; 
} 

甚至

for (NSString* key in [memberData allKeys]) { 
    [originalPerson setValue:[memberData valueForKey:key] forKey:key]; 
} 

和你確定(或檢查)originalPerson有相應的屬性。我不知道你是如何解析你的JSON,但我建議SBJSON客觀C.

+0

謝謝。這正是我所期待的。 OBj-C很棒!我正在使用SBJson,但發現它不再被支持。所以在某些時候我可能會改變。 –

0

你也可以做

[originalPerson setValuesForKeysWithDictionary:memberData] 

要小心,memberData不應含有不符合屬性任意鍵originalPerson,否則運行時會引發異常。

相關問題