访问非null变量时获取EXC_BAD_ACCESS异常

时间:2019-03-08 01:04:45

标签: swift macos apple-pdfkit

如您在链接图像中所见,我得到:

  

EXC_BAD_ACCESS(代码= 1,地址= 0x0)

访问outline.numberOfChildren时 但是lldb表示轮廓不是nil,而outline.numberOfChildren是0(在这种情况下恰好是它)。为什么会这样呢? 谢谢。

链接到图像: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
 }

链接到github上的Xcode项目:https://github.com/raphaelreyna/Chapters

1 个答案:

答案 0 :(得分:0)

如果PDFDocument从内存中释放,则大纲被延迟加载,无法加载。解决方案:强烈引用PDFDocument