ios - 由于该应用程序崩溃,字典获得零值。展开可选值时意外发现 nil

标签 ios swift xcode swift3 swift4

我有一个名为 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]

最佳答案

不要强行解包,先试试看有没有东西

if let messageDict = messageDict, let messageArray = messageDict[outBoxId] as? [MCOIMAPMessage] {
}

关于ios - 由于该应用程序崩溃,字典获得零值。展开可选值时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49358035/

相关文章:

android - iOS/Android 移动设备上的 Hyperledger

android - 错误 : unable to locate asset entry in pubspec. yaml: "assets/fonts/Lato-Regular.ttf"

ios - CAGradientLayer 未应用于整个屏幕

json - 如何快速从 Any 类型访问我的 json 数据?

linux - Mac OS X 上的 xcode 构建脚本无法工作,因为未找到 env 节点/登录也无法工作

ios - 在 Swift 中获取按钮图像文件名

c - 如何在 XCode 4 中构建目标文件?

ios - Swift Share 扩展,ALAsset 为 nil

swift - 按下时更改 UICollectionView 单元格大小 - Xcode Swift

swift - 当文件未保存在 Xcode 中时消除文件图标阴影