小编mbe*_*erg的帖子

核心数据 fetchRequest 给出了 executeFetchRequest:error: <null> is not a valid NSFetchRequest

不久前,我将我的一个应用程序更新到 iOS 10,然后我就可以使用它了,从那时起我就一直在我的手机上使用它(安装时没有删除旧应用程序,新应用程序取代了旧应用程序)。现在,当我从 iPhone 中删除该应用程序并重新安装相同的应用程序时,它不起作用。

我一直在尝试通过不同的更改来解决这个问题,并试图了解出了什么问题。我还在 Google 和 Stack Overflow 上搜索过,但没有成功。

我得到的错误是这样的:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“executeFetchRequest:error: 不是有效的 NSFetchRequest。”

这是我的代码,它在应用程序启动的早期执行:

        let allItemFetchRequest: NSFetchRequest<Item>
    if #available(iOS 10.0, *) {
        allItemFetchRequest = Item.fetchRequest() as! NSFetchRequest<Item>
    } else {
        // Fallback on earlier versions
        allItemFetchRequest = NSFetchRequest(entityName:"Item")
    }

    do {
        let searchItems = try self.managedObjectContext.fetch(allItemFetchRequest)

        if searchItems.count == 0 {
            return true
        }
    } catch let error as NSError {
        print("\(#file):\(#function): \(error)::\(error.userInfo)")
    } catch {
        print("\(String(describing: self)):\(#function): fatal error")
        // Remove before release
        fatalError()
    }
Run Code Online (Sandbox Code Playgroud)

它总是let …

iphone core-data swift3 ios10

5
推荐指数
1
解决办法
2622
查看次数

标签 统计

core-data ×1

ios10 ×1

iphone ×1

swift3 ×1