【问题标题】:i cant get data from NSArray(contentsOfFile: ) and it's return nil我无法从 NSArray(contentsOfFile: ) 获取数据,它返回 nil
【发布时间】:2018-11-03 09:57:35
【问题描述】:

我有问题 我想从 plist 文件中获取数据并将其放入数组变量中,但它不起作用

  let path = Bundle.main.path(forResource: "SampleData", ofType: "plist")

    let dataArray = NSArray(contentsOfFile: path!)!

这是我的 plist 数据:

但它不起作用,并且 NSArray 返回 nil 时出现运行时错误。

【问题讨论】:

  • 嗯,很明显 - 如果你想读取一个数组,那么 必须 在 plist 中是一个数组,而不是字典。
  • 不要在 Swift 中使用NSArray/NSDictionary 来读取属性列表文件。使用DataPropertyListSerialization 或者——更好的是——使用PropertyListDecoder 解码结构中的数据。

标签: ios swift nsarray


【解决方案1】:

我发现了我的问题。我必须将 plist 中的 root 设置为如下图所示的数组,因为 NSArray 只能将数组放入变量中,而不能将字典项放入变量中:

【讨论】:

    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多