0

我不确定使用瞬态属性是否适合我的情况。我正在从服务器获取某种提要并存储在核心数据中。我在 TableView 中显示所有这些提要。提要有多种类型,因此单元格布局和子视图随每个提要而变化。在某些提要中,我需要设置一个临时变量(BOOL 和整数。所以我知道 NSNumber)。用例是,用户应该能够放大和折叠一些单元格(一种“阅读更多..”链接)。所以这种状态,我需要与每个 feed(NSManagedObject) 对象保持一致。在应用程序运行之前,此状态将一直存在。它不应该保存到持久存储中,因为当用户打开应用程序时,所有提要都应该是新鲜的。

我刚刚添加了带有瞬态的属性,但它似乎不起作用。我在实体中添加了“NSNumber selected”属性作为瞬态,并在 NSManagedObject 文件中添加了属性和@dynamic。我搜索了论坛,没有解决方案与我的匹配。我尝试了很多样品,但它真的很混乱..

接口文件是,

@interface FeedItemBase : NSManagedObject {
@private
}
@property (nonatomic, retain) NSDate * timestamp;
@property (nonatomic, retain) NSString * type;
@property (nonatomic, retain) NSNumber * premium;
@property (nonatomic, retain) NSNumber *selected; //This is what I added

@end

实施文件是,

@implementation FeedItemBase
@dynamic timestamp;
@dynamic type;
@dynamic premium;
@dynamic selected; //This is what I added

@end

所以请帮我解决这个问题。

4

1 回答 1

1

如果您不需要查询它,只需将常规 BOOL 添加到您的托管对象子类。

@property (nonatomic, assign) BOOL selected; //This is what I added

在你的 .m 文件中

@synthesized selected = _selected;

核心数据中的瞬态属性有很多奇怪的边缘情况;根据我的经验,如果可以的话,我会避开它们。

于 2011-09-09T16:50:01.230 回答