iphone - 如何从 NSDictionary 获取数据到 NSArray

标签 iphone objective-c ios ipad nsdictionary

从字典中获取数据时出现以下错误

-[__NSCFString objectForKey:]: 无法识别的选择器发送到实例 0x4fbb80

这是我的代码

  NSDictionary *dic = [XMLReader dictionaryForXMLString:class.returnData error:nil];

  MyGiftsarray = [[dic objectForKey:@"response"] objectForKey:@"gifts"];


  for (NSDictionary *element in MyGiftsarray) {

  [MyGiftsnamearray addObject:[element objectForKey:@"name"]];

  [MyGiftsChkarray addObject:[element objectForKey:@"chk"]];

   [MyGiftsIdarray addObject:[element objectForKey:@"id"]];

   [MyGiftsApprovedarray addObject:[element objectForKey:@"approved"]];

   [MyGiftsisCompletedarray addObject:[element objectForKey:@"completed"]];

 }

这是我尝试从中获取数据的 NSDictionary。 MyGiftsDict->(

 {
    Appliedpoint = 500;
    Requiredpoint = 5000;
    approved = N;
    chk = 50;
    completed = 0;
    id = 66;
    name = "1-800Flowers.com";
},
    {
    Appliedpoint = 85;
    Requiredpoint = 2500;
    approved = N;
    chk = 25;
    completed = 0;
    id = 71;
    name = "Bath Body Works";
},
    {
    Appliedpoint = 5;
    Requiredpoint = 2500;
    approved = N;
    chk = 25;
    completed = 0;
    id = 75;
    name = "Buca di Beppo";
},
    {
    Appliedpoint = 36;
    Requiredpoint = 2500;
    approved = N;
    chk = 25;
    completed = 0;
    id = 66;
    name = "1-800Flowers.com";
},
    {
    Appliedpoint = 25;
    Requiredpoint = 5000;
    approved = N;
    chk = 50;
    completed = 0;
    id = 90;
    name = "Jelly Belly";
},
    {
    Appliedpoint = 120;
    Requiredpoint = 500;
    approved = N;
    chk = 5;
    completed = 0;
    id = 129;
    name = "Amazon.com";
}

)

最佳答案

您以错误的方式进行迭代- 使用 -

MyGiftsDict = [[dic objectForKey:@"response"] objectForKey:@"gifts"];

然后逐步遍历字典。 你需要使用类似 -

for(NSString *key in [MyGiftsDict allKeys])
{
    [MyGiftsnamearray addObject:[MyGiftsDict objectForKey:key]];
}

关于iphone - 如何从 NSDictionary 获取数据到 NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11338876/

相关文章:

ios - 合成两个 CIImages 并在 UIImageView 问题中显示

ios - Swift 3.2 iOS - 如何增加 Firebase MutableData 对象的 NSNumber?

iphone - 如何从 Xcode 中删除运行脚本阶段

iphone - 将选项添加到 Settings.bundle 中的 PSMultiValueSpecifier

ios - 为什么数据给我空值?

objective-c - 通过OSX Cron运行时,Objective C命令失败

ios - 我可以在 Xcode 的界面生成器中使用任何标准组合框元素吗

iOS - 用一个按钮杀死应用程序?

ios - 如何查看外围设备的 BLE 服务?

objective-c - 如何在 Mac 上禁用 cmd+q