簡體   English   中英

將 CoreData Codegen 設置為 Category / Extension 后應用程序崩潰

[英]App crashes after setting CoreData Codegen to Category / Extension

語境

我的應用程序使用CoreData並且對於第一個版本,我只是使用Class Definition作為所有EntitiesCodegen Method 但是,由於我將其更改為Category / Extension ,因此每次加載帶有@FetchedResult Property WrapperView時,應用程序都會崩潰。

崩潰消息:線程 1:“executeFetchRequest:錯誤:獲取請求必須有一個實體。”


代碼

// MyEntity.swift
public final class MyEntity: NSManagedObject {
    // ...
}

問題

  • 是什么導致了崩潰,我該如何解決?
  • 僅更改Codegen Method時是否需要定義新的CoreData Model Version
  • Lightweight Migration是否支持更改Codegen Method

在為 Core Data 實體創建自己的子類時,您必須將屬性 @objc() 添加到聲明中,以便 Core Data 可以找到並使用您的子類

@objc(MyEntity)
public final class MyEntity: NSManagedObject {
    // ...
}

至於更改代碼生成的類型,無論如何它都不會影響核心數據codegen ,因此無需遷移任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM