NSDictionary 对比NSArray

2024-04-13

我正在阅读 Objective-C (一本书呆子牧场的书),我不禁思考这个问题:我如何决定使用哪种集合类型,NSArray 或 NSDictionary(都带有或不带有可变子类)从 URL 读取内容时?

假设我正在从 PHP 脚本读取 JSON 数据(正在处理的场景),该使用哪个?我知道许多参考文献都指出它取决于数据结构(即 JSON),但是可以概述这两种结构的清晰轮廓吗?

谢谢大家的帮助:)


NSArray基本上只是对象的有序集合,可以通过索引访问。
NSDictionary通过键(通常是 NSString,但可以是任何对象类型,如哈希表)提供对其对象的访问。

要从通过 URL 加载的 JSON 字符串生成对象图,您可以使用NSJSONSerialization,它生成一个 Objective-C 对象结构。生成的对象取决于 JSON 字符串。如果 JSON 中的顶级元素是一个数组(以"["),你会得到一个 NSArray。如果顶级元素是 JSON 对象(以"{"),你会得到一个 NSDictionary。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSDictionary 对比NSArray 的相关文章

  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 如何使用 alamofire 通过基本身份验证上传图像?

    我正在尝试使用 alamofire 4 7 1 和此代码上传图像 但说实话 我怀疑我没有编写正确的代码来上传图像 func uploadDefect defectRemark String defectLocation String def
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • 在 iOS 应用程序中拨打电话

    我有一些代码尝试在应用程序中进行调用 但它似乎不起作用 UIApplication myApp UIApplication sharedApplication NSString theCall NSString stringWithForm
  • iPhone X 将对象底部与安全区域对齐会破坏其他设备上的外观

    关于 iPhone X 自动布局怪癖的问题 我有两个按钮 以前这些按钮将与超级视图底部对齐 偏移量为 20 以免它们接触屏幕底部 此后我将链接更改为安全区域而不是超级视图 Here s the original setup Looks go
  • Xamarin - 错误:dsymutil 退出,代码为 72

    最近升级到 VS for Mac 8 10 21 在构建应用程序时 我得到 Xamarin Shared targets 3 3 Error dsymutil exited with code 72 这是 Xcode 13 3 的情况 完整
  • UIViewController 不旋转到横向

    在许多情况下需要旋转控制器但不起作用 现在我遇到了相反的问题 它正在旋转 我想禁用它 在那个 ViewController 中我有这个 BOOL shouldAutorotateToInterfaceOrientation UIInterf
  • 将类型传递给通用 Swift 扩展,或者理想情况下推断它

    说你有 class Fancy UIView 你想找到所有兄弟姐妹Fancy意见 没问题 https stackoverflow com q 37232743 294884 for v UIView in superview subview
  • 如何删除 UITableView 中的缩进?

    首先 我对此很陌生 我很可能忘记了一些非常简单的事情 问题 我正在制作一个应用程序 在 a 中显示来自 imgur com 的随机图像tableView 由于某种原因 所有单元格都会缩进少量 如下图所示 我摆弄了许多设置storyboard
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • 未知异常和崩溃

    当我尝试快速滚动表格视图或从远程重新加载数据时 我的应用程序崩溃了 当我先进行远程获取然后滚动表格视图时 一切似乎都工作正常 我不知道下面的崩溃日志意味着什么 它只是有时工作正常 有时崩溃 Incident Identifier 710A1
  • AVAudioPlayer 无法从网站播放 m4a 或 mp3 文件类型

    我试图在我的应用程序中找到一个仅纯 m4a 声音的 URL 我有音频的 URL 理论上可以下载它 然后 使用下载的文件URL到声音 我尝试使用AVAudioPlayer播放它 但它不播放任何声音 这是我的代码 在 URL 检索函数中 我调用
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • Fitbit oauth2 公共 API 停止工作。给出错误 - 抱歉,这不是你..是我们

    几个月前 我准备了一个关于 Fitbit oauth2 公共 API 的演示 其中我使用特定用户登录并获取他的活动 一切正常 但最近 我打开演示并尝试使用同一用户登录 但它没有登录并反复出现此错误 我尝试更改在 Fitbit 上注册的演示应

随机推荐

  • 在 Azure 上部署后 ChatBot 无法工作 - 内部服务器错误

    我已经使用 LUIS 和 QnA Maker 部署了一个聊天机器人 当我在模拟器上运行它时 它在本地完美运行 它在聊天开始时加载自适应卡 我从 LUIS 那里得到了正确的回复 但是 当我在 Azure 上部署机器人并在 Web 聊天上测试它
  • 使用带有返回值的访问者模式实现 AST 的最佳方法是什么?

    我正在尝试使用访问者模式在 C 中实现一个简单的抽象语法树 AST 通常访问者模式不处理返回值 但在我的 AST 中 有一些表达式节点关心其子节点的返回类型和值 例如 我有一个这样的 Node 结构 class AstNode public
  • 如何从 jenkins UI 控制台本身下载构建输出文件

    我是新詹金斯 使用詹金斯1 651 3战争部署于Tomcat6有没有办法从 jenkins UI 控制台本身下载 Jenkins 作业的输出文件 我的作业生成了一个 jar 文件 那么 有人可以建议我是否有任何方法或插件可以使每个 Jenk
  • iPad、JavaScript 字符代码和 shiftKey

    假设我有一个 Web 应用程序 每次用户在 ID 为 txt 的文本区域中按下按键时 该应用程序都会调用以下 jQuery txt keydown function e console log e which shows the keyCo
  • sqlite 相当于 row_number() over ( 分区 ...?

    我想知道是否可以使用单个 sqlite 语句执行以下操作 我的桌子看起来像这样 AnId UserId SomeDate SomeData 123 A 1 1 2010 aadsljvs 87 A 2 9 2010 asda fas 193
  • 将java类文件转换为kotlin会导致编译错误

    我有一个 java 类文件 可以正常工作 但是如果我将其转换为 Kotlin 则会出现一些问题 这是一个Java版本 public class CallbackWrapper
  • 如何在数学中为给定旋转轴的 3D 绘图制作动画

    如果给定标准化旋转轴 例如 1 Sqrt 3 1 Sqrt 3 1 Sqrt 3 和 3d 图 例如 z x y Exp Sqrt x 2 y 2 Power 4 3 1 Power 4 3 1 Sqrt 1 2 Sqrt x 2 y 2
  • 为什么活性/就绪性探测失败?

    我正在尝试通过 Helm 图表将应用程序部署到 Kubernetes 集群 每次我尝试部署应用程序时 我都会得到 活性探测失败 获取http 172 17 0 7 80 http 172 17 0 7 80 拨号 TCP 172 17 0
  • 为什么我的 Firebase 推送通知单个项目的打开率总是显示零计数?

    从上图可以看出 所有推送通知始终显示零打开率 尽管我非常确定至少有 1 会打开推送通知 我想跟踪一天内每条发送消息的打开率 但如果从 Firebase 控制台打开基于当天的总体报告 它将跟踪一天内发送的所有消息的打开率 如下图所示 那么为什
  • FTP 错误 530 用户无法登录

    我正在尝试通过 FTP 访问我使用 Windows Server Web 64 位 版本的 IIS 7 0 设置的新 FTP 站点 但是当我尝试登录该网站时出现上述错误 但我可以登录到我的其他 FTP 站点 另外 当我从 IIS 管理器中选
  • 在 Core Graphics 中创建一个具有多色段的圆

    我正在尝试绘制一个饼图 该饼图由大小相等的部分组成 每个部分具有不同的颜色 我的代码基于此SO 在SWIFT中画一个圆弧段进度 https stackoverflow com questions 31807846 draw a circul
  • Indy10 + OpenSSL:发送电子邮件代码在 Windows 8 上停止工作

    代码在 Windows 8 上停止运行 它在 Windows7 Windows XP 上运行良好 我找到了解决此问题的方法 以 Windows 兼容模式启动应用程序 Windows XP Service Pack 3 代码工作 如果 Win
  • 使用 KL 散度时,变分自动编码器为每个输入 mnist 图像提供相同的输出图像

    当不使用 KL 散度项时 VAE 几乎完美地重建 mnist 图像 但在提供随机噪声时无法正确生成新图像 当使用 KL 散度项时 VAE 在重建和生成图像时都会给出相同的奇怪输出 这是损失函数的 pytorch 代码 def loss fu
  • 有没有好的 x86 双精度小矩阵 SIMD 库?

    我正在寻找一个专注于图形小型 4x4 矩阵运算的 SIMD 库 那里有很多单精度 但我需要支持单精度和双精度 我看过 Intel 的 IPP MX 库 但我更喜欢带有源代码的库 我对这些特定操作的 SSE3 实现非常感兴趣 垫4 垫4 Ma
  • “纯”MVVM 中的 MenuItem 键盘快捷键?

    我在 wpf 中使用的所有菜单 上下文菜单 工具栏都在 ViewModel 代码中声明 非常像这样 MenuService Add new MenuItem Header DoStuff Command new relayCommand D
  • 如何检查Android中的颜色亮度?

    如何在android中检查亮度 我有一个整数值的颜色 我想根据颜色的整数值检查该颜色是深色还是浅色 if checkColor Color RED checkColor Color BLACK set fore color is white
  • 如何将js对象转换为点表示法字符串

    我有一个像这样的 JavaScript 普通对象 a b 1 我想将其转换为点符号字符串 如下所示a b 1 用例 将对象发送到纯文本环境 例如 cli 或作为 url 参数 很难判断这是否是您想要的 但是这样的东西会将对象树扁平化为点路径
  • UISegmentedControl 不更新视图

    我正在 Xcode 5 中构建一个应用程序 并且遇到了一些奇怪的行为UISegmentedControl 首先是我正在构建的应用程序的一些信息 我正在构建一个应用程序 我希望允许用户在注册公司订购产品 作为一项额外服务 我希望允许他们查看他
  • Xcode 6.1 中的 segue 操作列表中没有“显示”

    我是 swift 和 IOS 开发的新手 系统信息 Xcode 6 1 发行说明 操作系统 X 10 10 1 我的应用程序有两个视图控制器 ViewA 和 ViewB 无导航控制器 我想通过单击 ViewA 中的 UIButton 从 V
  • NSDictionary 对比NSArray

    我正在阅读 Objective C 一本书呆子牧场的书 我不禁思考这个问题 我如何决定使用哪种集合类型 NSArray 或 NSDictionary 都带有或不带有可变子类 从 URL 读取内容时 假设我正在从 PHP 脚本读取 JSON