gpt4 book ai didi

iOS8 核心数据 "use of unimplemented initializer"

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:26 29 4
gpt4 key购买 nike

我在尝试运行我的应用程序时遇到以下错误

fatal error :对类“rcresttest.CatalogItem”使用了未实现的初始化程序“init(entity:insertIntoManagedObjectContext:)”

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

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

目录项.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
}
}

和数据模型

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="6220.8" systemVersion="13E28" minimumToolsVersion="Xcode 4.3" macOSVersion="Automatic" iOSVersion="Automatic">
<entity name="CatalogItem" representedClassName="CatalogItem" syncable="YES">
<attribute name="catalogItemId" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="id" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="slug" optional="YES" attributeType="String" syncable="YES"/>
</entity>
<elements>
<element name="CatalogItem" positionX="-45" positionY="0" width="128" height="90"/>
</elements>
</model>

编辑:

将数据模型类的名称更改为具有模块前缀后尝试转换后出现错误消息。

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

最佳答案

这是指定初始化程序的问题。只需在 init 前面添加 convenience 并在 self 上调用 init(entity:insertIntoManagedObjectContext:) 而不是 super

关于iOS8 核心数据 "use of unimplemented initializer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408984/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com