Swift - Core Data发布模型和错误访问

时间:2015-07-08 15:06:12

标签: ios swift memory automatic-ref-counting nszombie

我在这一行有EXC_BAD_ACCESS:

self.accountControl.baseInfo = base

当我启用NSZombies时,我收到此错误:

  

- [CFString release]:发送到解除分配的实例0x1478cbc0的消息

我发现我的问题在这里:

override func viewDidLoad() {
    super.viewDidLoad()

    if baseInfo == nil {
        baseInfo = StorageManager.sharedInstance.getBaseInfo()
        reloadBaseInfo(false)
    }

StorageManager中的方法getBaseInfo()

func getBaseInfo() -> BaseInfo? {
    if let baseInfoCD = getBaseInfoCD() {
        var baseInfo = BaseInfo()
        baseInfo.update(baseInfoCD)
        return baseInfo
    }
    return nil
}

func getBaseInfoCD() -> BaseInfoCD? {
    let fetchRequest = NSFetchRequest(entityName: "BaseInfoCD")

    var error: NSError?
    if let fetchResults = managedObjectContext.executeFetchRequest(fetchRequest, error: &error) as? [BaseInfoCD] {
        if fetchResults.count > 0 {
            return fetchResults.last!
        }
    }
    return nil
}

我认为问题出在核心数据上并且它发布了对象,但我不知道我做错了什么。这是Zombie Instruments的屏幕: Instruments screenshot

我做错了什么?我该如何解决?感谢

0 个答案:

没有答案