访问非空变量时出现 EXC_BAD_ACCESS 异常
Getting EXC_BAD_ACCESS exception when accessing non null variable
正如您在 linked 图片中所见,我得到:
EXC_BAD_ACCESS (code=1, address=0x0)
访问时 outline.numberOfChildren
但是 lldb
表明 outline 不是 nil
并且 outline.numberOfChildren
是 0(在这种情况下它应该是这样)。为什么会这样?
谢谢。
link 到图像:https://imgur.com/a/StLBued
代码:
func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
if self.rootOutline != nil {
if let outline = item as? PDFOutline {
if outline.numberOfChildren == 0 { // <- Error here
return false
}
return true
}
if self.rootOutline!.numberOfChildren == 0 {
return false
}
return true
}
return false
}
link 到 Xcode 在 github 上的项目:https://github.com/raphaelreyna/Chapters
大纲是延迟加载的,如果 PDFDocument
从内存中释放则无法加载。解决方案:保持对PDFDocument
.
的强引用
正如您在 linked 图片中所见,我得到:
EXC_BAD_ACCESS (code=1, address=0x0)
访问时 outline.numberOfChildren
但是 lldb
表明 outline 不是 nil
并且 outline.numberOfChildren
是 0(在这种情况下它应该是这样)。为什么会这样?
谢谢。
link 到图像:https://imgur.com/a/StLBued
代码:
func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
if self.rootOutline != nil {
if let outline = item as? PDFOutline {
if outline.numberOfChildren == 0 { // <- Error here
return false
}
return true
}
if self.rootOutline!.numberOfChildren == 0 {
return false
}
return true
}
return false
}
link 到 Xcode 在 github 上的项目:https://github.com/raphaelreyna/Chapters
大纲是延迟加载的,如果 PDFDocument
从内存中释放则无法加载。解决方案:保持对PDFDocument
.