插入后更改实体属性

时间:2015-07-24 09:40:41

标签: ios objective-c core-data

我想使用Core Data创建一个名为Price的实体,代表DataPrice。我想在创建后编辑实体。我就是这样做的。

@interface DataPrice : NSManagedObject

@property (nonatomic) NSInteger id;
@property (nonatomic, retain) NSNumber *ron95;
@property (nonatomic, retain) NSNumber *ron92;
@property (nonatomic, retain) NSNumber *dieselNormal;
@property (nonatomic, retain) NSNumber *dieselSpecial;
@property (nonatomic, retain) NSDate *postDate;

+ (instancetype)insertDataPriceWithPrice:(Price*)price
                  inManagedObjectContext:(NSManagedObjectContext *)managedObjectContext;

+ (instancetype)fetchDataPriceInManagedObjectContext:(NSManagedObjectContext *)managedObjectContext;

+ (Price*)fetchPriceInManagedObjectContext:(NSManagedObjectContext *)managedObjectContext;

@end



+ (instancetype)insertDataPriceWithPrice:(Price*)price
             inManagedObjectContext:(NSManagedObjectContext *)managedObjectContext
{
    DataPrice* dataPrice = [NSEntityDescription insertNewObjectForEntityForName:self.entityName
                                               inManagedObjectContext:managedObjectContext];
    [dataPrice setId:price.id];
    dataPrice.ron95 = price.ron95;
    dataPrice.ron92 = price.ron92;
    dataPrice.dieselNormal = price.dieselNormal;
    dataPrice.dieselSpecial = price.dieselSpecial;
    dataPrice.postDate = price.postDate;

    return dataPrice;
}

这会导致线程问题。我这样做了吗?

编辑:来自XCode的错误信息

code

error

1 个答案:

答案 0 :(得分:0)

您很可能使用的属性名称是Objective-C中保留的表达式。通过将id替换为idNumber之类的内容来尝试重构。