xcode - (lldb) 在设备上运行但不在模拟器上运行时出错

标签 xcode swift lldb

Click here to see the screenshot of the code.

我正在制作一个列表应用程序,并且正在将数组保存为我想要在再次打开应用程序时加载的“列表”。 奇怪的是我在模拟器上工作,但不在设备上。 (看截图就明白了)

        feedCells = (NSUserDefaults.standardUserDefaults().objectForKey("feedCellsData") as? [String])!  

这就是它不断崩溃的线路。

我尝试更改它,使其成为可选值。但我找不到任何似乎有帮助的东西..

最佳答案

首先检查您的设备 iOS 版本是否为 iOS 8 或更高版本。如果小于该值,则在将值设置为 NSUserDefaults 后也使用 Synchronize()。

您正在强制展开(使用!)从向下转换(使用 as?)获得的可选值。

您还可以通过添加检查从 NSUserDefaults 获取的值是否为 nil 来解决此崩溃,然后将其分配给您的 feedCells 变量。

let cells = NSUserDefaults.standardUserDefaults().objectForKey("feedCellsData") as? [String]
if cells != nil {
    feedCells = cells
}

将 feedCells var 设为可选并删除“!”从出现错误的行末尾开始。

var feedCell : [String]?
feedCells = NSUserDefaults.standardUserDefaults().objectForKey("feedCellsData") as? [String]

关于xcode - (lldb) 在设备上运行但不在模拟器上运行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37700184/

相关文章:

ios - 无法转换类型 'UIViewController' 的值

ios - 图像阵列中的视频未播放

ios - 如何在 iOS Swift 中处理多个 UISlider 值?

ios - 重用包含 UICollectionView 的 UITableViewCell 的正确方法

json - fatal error : Index out of range (while trying to load an image to a table view)

gdb - lldb 的 'info frame' 是什么?

ios - lldb python basic - 在函数断点内打印全局数组的值

ios - 如何将数据从自定义 url 方案传递到 SwiftUI 中的 View ?

ios - 是否可以将图像添加到 MapBox(iOS,Swift)中的自定义 MGLAnnotationView

iOS 8 - performSegueWithIdentifier 加载 View 但直到我点击屏幕才显示