gpt4 book ai didi

ios - 将@propertys 添加到核心数据类

转载 作者:行者123 更新时间:2023-12-01 17:32:10 24 4
gpt4 key购买 nike

我通过 Core Data 做了一些类(class)。我需要一些额外的@property s 用于运行时的其中一个类。这个@property s 负责下载进度,我不想将它们存储在 Core Data DB 中。我尝试使用单独的扩展类:

@interface MyClass ()

{
CGFloat _downloadProgress;
NSInteger _downloadErrorCounter;
BOOL _downloadAllStuff;
BOOL _downloadUserCanceled;
}

@property (nonatomic, assign) CGFloat downloadProgress;
@property (nonatomic, assign) NSInteger downloadErrorCounter;
@property (nonatomic, assign) BOOL downloadAllStuff;
@property (nonatomic, assign) BOOL downloadUserCanceled;

@end

但是私有(private)变量在 MyClass 之外是不可见的,并且 @property s 编译正常,但在运行时我得到 -[MyClass setDownloadErrorCounter:]: unrecognized selector sent to instance .
谁能建议我一些解决方案?

最佳答案

最简单的解决方案(如果您不想修改 Xcode 生成的类文件)是将属性添加到 Core Data 模型并定义
属性为 transient 。 transient 属性不会保存到存储文件中。

另一种选择是使用像“mogenerator”这样的工具,它为每个生成两个类文件
实体,一个用于核心数据属性(如果模型更改,则会被覆盖),
一个用于您的自定义属性(未被覆盖)。

更新: 开始Xcode 7, Xcode 创建一个类和
每个托管对象子类的类别,比较 NSManagedObject subclass property in category .可以将自定义属性添加到类中
模型更改时不会被覆盖的定义。

关于ios - 将@propertys 添加到核心数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17399779/

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