ios - 值为 nil 的属性具有“不可读的数据”并导致崩溃。斯威夫特 4.2 | iOS
问题描述
我已经声明了一个 String 类型的可选属性。在 viewDidload 中,我调用了一个对该属性执行可选绑定的函数:
public var localMsgIdToBeHighlighted: String? = nil
以下是我的方法:
private func performInitialBottomScrolling() {
if let safeLocalMsgId = self.localMsgIdToBeHighlighted, let safeMsgList = self.messageList {
var index = 0
var indexPath: IndexPath? = nil
for msgModel in safeMsgList {
if msgModel.localMsgId == safeLocalMsgId {
indexPath = IndexPath(row: index, section: 0)
break
}
index = index + 1
}
if let safeIndexPath = indexPath {
self.tblViewChatLog.scrollToRow(at: safeIndexPath, at: .bottom, animated: false)
if let cell = self.tblViewChatLog.cellForRow(at: safeIndexPath) {
cell.setHighlighted(true, animated: true)
}
} else {
self.scrollToBottom(animation: false)
}
} else {
self.scrollToBottom(animation: false)
}
}
这次崩溃的原因可能是什么?
解决方案
推荐阅读
- kubernetes - 在 Kubernetes 中运行对数据库进行维护的 pod/容器
- javascript - 如何将对象数组从服务器存储到客户端
- typescript - 打字稿从函数中设置值类型
- ios - ScrollView 内的 xCode7 StackViews 重叠视图
- c - 在 LInux 上播放 PCM 音频(wav)
- react-testing-library - 在测试组件方面,Preact 测试库是否与 React 测试库相同?
- excel - 可以在 vba 中处理参数变量吗?
- visual-studio-code - 有没有办法在 VSCode 中抑制/延迟智能感知和用户帮助?
- html - 如何使用 flex-direction: column; 创建一个表?
- sql - PostgreSQL:如何为包含值标识的每一行提取相关数据