相关疑难解决方法(0)

Xcode 8为iOS 10生成损坏的NSManagedObject子类

我最近将我的iOS应用程序项目更新到iOS 10.现在我正在尝试更改我的应用程序的核心数据模型,但Xcode生成的新NSManagedObject子类已损坏.我也尝试修复子类手册,但这不起作用.

Core Data Model的最小工具版本设置为Xcode 7.0,代码生成语言设置为Swift.

这是Xcode生成的代码:

import Foundation
import CoreData
import 

extension Group {

    @nonobjc public class func fetchRequest() -> NSFetchRequest {
        return NSFetchRequest(entityName: "Group");
    }

    @NSManaged public var name: String?
    @NSManaged public var platform: NSNumber?
    @NSManaged public var profiles: NSOrderedSet?

}

// MARK: Generated accessors for profiles
extension Group {

    @objc(insertObject:inProfilesAtIndex:)
    @NSManaged public func insertIntoProfiles(_ value: SavedProfile, at idx: Int)

    @objc(removeObjectFromProfilesAtIndex:)
    @NSManaged public func removeFromProfiles(at idx: Int)

    @objc(insertProfiles:atIndexes:)
    @NSManaged public func insertIntoProfiles(_ values: [SavedProfile], at indexes: NSIndexSet)

    @objc(removeProfilesAtIndexes:) …
Run Code Online (Sandbox Code Playgroud)

core-data nsmanagedobject ios10 xcode8

63
推荐指数
8
解决办法
4万
查看次数

自动代码中的无效重新声明生成NSManagedObject子类Swift 3

使用Xcode版本8.1.

在.xcdatamodeld文件中创建名为"MapRegionObject"的实体.在此输入图像描述

使用自动代码生成器,单击导航栏上的编辑器 - >创建NSManagedOject子类...

有两个文件:MapRegionObject + CoreDataClass.swift和MapRegionObject + CoreDataProperties

屏幕截图中显示的两个文件中的错误:MapRegionObject + CoreDataClass.swift 在此输入图像描述

MapRegionObject + CoreDataProperties 在此输入图像描述

请帮我解决这个问题,非常感谢你!

core-data nsmanagedobject ios ios8.1 swift3

52
推荐指数
3
解决办法
1万
查看次数

xcode 8.2 swift 3核心数据 - 使用未解析的标识符

我在xcode 8.2中创建了一个核心数据项目,之后我创建了一个实体,在.xcdatamodeld中说"TestEntity"

我正在使用swift3的一些教程中给出的以下代码创建实体对象.在此输入链接描述

    let appDele = (UIApplication.shared.delegate) as! AppDelegate
    let cont = appDele.persistentContainer.viewContext

    let ent  = TestEntity(context:cont)
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误"使用未解析的标识符'TestEntity'."

如何解决该错误. 在此输入图像描述 在此输入图像描述

ios swift swift3 xcode8.2

6
推荐指数
3
解决办法
7970
查看次数

Coredata的CodeGen'手册/无+创建NSManagedObject子类'与'类别/扩展'之间的功能差异是什么?

我已经阅读了使用swift 3和Xcode 8 beta对NSManagedObject进行Subclassing,并阅读了这篇精彩的教程.在某些方面仍有疑问.

相似之处是:

  1. 我可以自定义两个类,但我喜欢.
  2. 我可以添加新属性或删除或重命名属性.即因为category/extension它将在新的构建(在派生数据中)得到更新,并且在manual/none它的情况下将保持类文件完整并更新文件导航中的扩展名,即我不会最终得到重复文件.这全部由Xcode处理,因为它们标有预处理器@NSManaged
  3. 不允许将类似内容@NSManaged public var name: String?直接转储到现有NSManagedObject子类中.我试过 entity.name = "John"但是我得到了以下错误: reason: '-[SomeEntity setName:]: unrecognized selector sent to instance 0x60400009b120'.我认为这是合理的.我认为不使用核心数据模型编辑器就不会创建setter/getter访问器方法.

不同之处是:

  1. 对于Category/Extension你只需要自己创建类,并添加您需要任何额外的功能/性能.
  2. 因为Category/Extension属性是在派生数据中创建的,这就足够了.因为你永远不需要看到那个文件.它的存在足以使事情发挥作用.

    
特别是在更改 NSManaged属性的上下文中:

  3. 更改属性类型,例如NSDateDate只允许为Manual/None.这里的例子

  4. 更改类型的可选性,如String?String只允许为Manual/None.这里的例子
  5. 仅允许更改属性访问级别,例如从更改public到.这里的例子privateManual/None

  6. 如果我选择了Manual/Nonecodegen但是没有选择'create …

xcode core-data nsmanagedobject swift

6
推荐指数
1
解决办法
355
查看次数

标签 统计

core-data ×3

nsmanagedobject ×3

ios ×2

swift ×2

swift3 ×2

ios10 ×1

ios8.1 ×1

xcode ×1

xcode8 ×1

xcode8.2 ×1