【问题标题】:App crashing on checking count NSMutableArray应用程序在检查计数 NSMutableArray 时崩溃
【发布时间】:2018-07-17 07:37:47
【问题描述】:

应用程序在检查 NSMutablearray 的计数时崩溃,如果它是 nil,我不知道如何处理它,我是 ios 的新手

let userDefaults: UserDefaults? = UserDefaults.standard
    let array  = userDefaults?.object(forKey: "purchaselist") as? NSMutableArray
    for i in 0..<array!.count {
}

【问题讨论】:

  • 除了问题 1) UserDefaults.standard 永远不是 nil,您的类型注释会使情况变得更糟,并且 2) 条件向下转换为 NSMutableArray 永远不会起作用(对象是不可变的或 nil ), 和 3) UserDefaults 中有一个 API array(forKey

标签: ios swift3 nsmutablearray


【解决方案1】:

你也应该检查 nil,

if let array = userDefaults?.object(forKey: "purchaselist") as? [Any], !array.isEmpty {
    //Your code goes here
}

你也可以这样做,

if let array = userDefaults?.object(forKey: "purchaselist") as? NSMutableArray {
    if array.count != 0 {
        //Your code goes here
    } else {
        //array count zero 
    }
} else {
    //Your array is nil
}

仅供参考。代码未经测试,只是信息。

【讨论】:

  • 是的,你必须这样做
猜你喜欢
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
相关资源
最近更新 更多