应用程序在检查计数 NSMutableArray 时崩溃
Posted
技术标签:
【中文标题】应用程序在检查计数 NSMutableArray 时崩溃【英文标题】:App crashing on checking count 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
【参考方案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
仅供参考。代码未经测试,只是信息。
【讨论】:
是的,你必须这样做以上是关于应用程序在检查计数 NSMutableArray 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
检查 NSUserDefault 中是不是已经存在 NSString/NSMutableArray?
Objective-C NSMutableArray 计数导致 EXC_BAD_ACCESS