首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreData中的瞬态属性

CoreData中的瞬态属性
EN

Stack Overflow用户
提问于 2012-02-29 18:33:26
回答 1查看 501关注 0票数 2

我正在尝试使用CoreData中的瞬态属性属性。最后,我尝试创建一个只在运行时保存在内存中的对象,而不是保存在数据库中。

属性的Setter和getter:

代码语言:javascript
复制
-(AVMutableComposition *) composition
{
    AVMutableComposition *composition;
    [self willAccessValueForKey:@"composition"];
    composition = [self primitiveValueForKey:@"composition"];
    [self didAccessValueForKey:@"composition"];
    if (composition == nil) 
    {
        self.composition = [AVMutableComposition composition];
    }

return composition;
}
- (void)setComposition:(AVMutableComposition*)aComposition
{
    [self willChangeValueForKey:@"composition"];
    [self setPrimitiveValue:aComposition forKey:@"composition"];
    [self didChangeValueForKey:@"composition"];
}

我的新创建的对象有问题,一开始它每次都是从头开始创建它,现在它就是不能正常工作。

有没有人可以建议如何编写正确的setter和getter,以便在第一次创建对象,然后在每次调用getter时使用相同的对象?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-03-01 00:01:35

嗯,我对核心数据有一个非常基本的了解,而且我也处理过这个问题。如果你有一个NSManagedObject子类,你不能通过一个类别来添加实例变量。您可以添加setter、getter和属性,但不能添加额外的存储空间。

这种短暂的东西听起来很有趣。另一种方法是拥有一个“常规”对象(NSObject的子类),它对应于您的NSManagedObject,并且还具有您想要的任何非核心数据属性(包括存储ivars)。所以它看起来像这样:

(股票是一个CoreData实体)

ComboClass.h:

代码语言:javascript
复制
#import <Foundation/Foundation.h>
#import "Stock.h"

@interface ComboClass : NSObject

@property (weak, nonatomic) Stock *stock;
@property (strong, nonatomic)  NSDictionary *nonPersistentDictionary;

@end

ComboClass.m:

代码语言:javascript
复制
#import "ComboClass.h"

@implementation ComboClass

@synthesize stock = _stock;
@synthesize nonPersistentDictionary = _nonPersistentDictionary;

- (Stock*)stock {
    // retrieve the stock from CoreData using a fetchedResultsController
    return _stock;
}

- (NSDictionary*)nonPersistentDictionary {
    if (!_nonPersistentDictionary) {
        _nonPersistentDictionary = [[NSDictionary alloc] init];
    }
    return _nonPersistentDictionary;
}

@end

祝好运,

达米恩

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9497455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档