由于该应用程序崩溃,字典得到 nil 值。在展开可选值时意外发现 nil
Posted
技术标签:
【中文标题】由于该应用程序崩溃,字典得到 nil 值。在展开可选值时意外发现 nil【英文标题】:Dictionary getting nil value due that app is crashing. Unexpectedly found nil while unwrapping an optional value 【发布时间】:2018-03-19 07:51:14 【问题描述】:我有一个名为 messageDict 的属性,有时由于该应用程序崩溃,它会得到 nil 值。有人可以建议我如何正确处理它。
var messageDict : [String : NSArray]?
if let messageDict = messageDict
let messageArray = messageDict[outBoxId]! as! [MCOIMAPMessage] // crash indicates here
如果数据可用,我将存储以下数据。有时它会为零
Message-ID: CABQG1ZJT0a7=NExme6VWA6iRpe6Du5LViuA9kZf-QbqOyX1RfQ@mail.gmail.com
References: [dca79b0a-ea55-a4f6-aef3-9097559148f5@peoplelogic.in,CABQG1ZKpat9nGSOjs-Q341bmn0vkiVH+CdFpu2JgkC92KO_K=Q@mail.gmail.com]
In-Reply-To: [CABQG1ZKpat9nGSOjs-Q341bmn0vkiVH+CdFpu2JgkC92KO_K=Q@mail.gmail.com]
【问题讨论】:
显示你的 JSON。 @SalmanGhumsani 好的。我正在编辑我的问题检查它 【参考方案1】:不要强行拆包,先试试看有没有东西
if let messageDict = messageDict, let messageArray = messageDict[outBoxId] as? [MCOIMAPMessage]
【讨论】:
【参考方案2】:用警卫打开包装/如果安全的话。
var messageDict : [String : NSArray]?
guard let message = messageDict else
return
guard let messageArray = message[outBoxId] as? [MCOIMAPMessage] else
return
【讨论】:
以上是关于由于该应用程序崩溃,字典得到 nil 值。在展开可选值时意外发现 nil的主要内容,如果未能解决你的问题,请参考以下文章
CollectionView 致命错误:在展开可选值时意外发现 nil