iOS8 CoreData"使用未实现的初始化程序"

 mobiledu2502882721 发布于 2022-12-26 22:57

尝试运行我的应用程序时出现以下错误

致命错误:对类'rcresttest.CatalogItem'使用未实现的初始化程序'init(entity:insertIntoManagedObjectContext :)'

我可以通过将数据模型中的Entity类更改为其他内容来绕过此错误,但随后我将获得swift_dynamicCastClassUnconditional:尝试向下转换时.

这是beta6中的错误还是我做错了什么?

CatalogItem.swift

import CoreData

@objc(CatalogItem)

class CatalogItem : NSManagedObject {
    @NSManaged var id : String
    @NSManaged var slug : String
    @NSManaged var catalogItemId : String

    init(entity: NSEntityDescription!, context: NSManagedObjectContext!, catalogResultsDict : NSDictionary) {
       super.init(entity: entity, insertIntoManagedObjectContext: context)
       id = catalogResultsDict["Id"] as String
       slug = catalogResultsDict["Slug"] as String
       catalogItemId = catalogResultsDict["CatalogItemId"] as String
    }
}

和数据模型



    
        
        
        
    
    
        
    

编辑:

更改datamodel类的名称以使其具有模块前缀在尝试强制转换后出现错误消息.

2014-08-20 10:49:15.335 rcresttest [63516:4194127] CoreData:警告:无法为实体'CatalogItem'加载名为'rcresttest.CatalogItem'的类.找不到类,而是使用默认的NSManagedObject.

1 个回答
  • 这是指定初始化程序的问题.只需添加convenience在你的面前init,并呼吁init(entity:insertIntoManagedObjectContext:)self代替super.

    2022-12-26 23:23 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有