ios - 为什么 iOS 将以下内容视为 NSDictionary 而不是数组?

标签 ios nsarray nsdictionary

{
 "success":true,
 "listings":
 {
   "50831582253b4acf09000000":
   {
     "id":"50831582253b4acf09000000",
     "title":"fddfds",
     "assets":[],
     "discussions":[]
   }
 },
 "displaymessage":"1 Listings Found"
}

我还在字典和数组之间挣扎。什么会使上面的数组成为数组?

谢谢

最佳答案

字典和数组之间有很大的区别。字典存储与您在实例化时指定的键相关的数据条目。例如:

NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"object1",@"key1",@"object2",@"key2", nil];

这会分配/初始化一个字典,并为“key1”设置“object1”,为“key2”设置“object2”,所以如果你想询问“key1”的值,你可以通过以下方式访问它。

NSLog(@"%@",[myDictionary objectForKey:@"key1"]);

字典中的对象可以是数组、字典、 bool 值、数据、日期、数字和字符串。

另一方面,数组通过数组中的数据索引存储数据:

NSArray *myArray = [[NSArray alloc] initWithObjects:@"object1",@"object2",@"object3", nil];

然后您可以通过请求 objectAtIndex: 从数组中访问特定的数据位,例如:

NSLog(@"%@",[myArray objectAtIndex:1]);

这将返回“object2”,因为数组中的第一个索引始终为“0”。

关于ios - 为什么 iOS 将以下内容视为 NSDictionary 而不是数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13014136/

相关文章:

ios - Iphone-发生事件时从服务器通知客户端

ios - Xcode 说该文件不存在

ios - 在 Objective-C 中使用 NSPredicate 过滤自定义数据类的数组

ios - 在 swift 的 HTTP POST 请求中设置参数

cocoa-touch - 无法记录 NSMutableDictionary 的描述

ios - 即使隐藏 iOS7 状态栏,也允许单次滑动显示通知和控制中心

ios - bundle ID 是否可以重复用于同一 iTunes Connect 帐户中的不同应用程序?

ios - 按顺序排列的 NSMutableArray - 按顺序替换中断

ios - 找出 NSArray/NSMutableArray 变化的索引

ios - Swift Int 不能转换为 DictionaryIndex?