我有一个简单的实体“产品”,其中包含属性:
id int64
sku text
descript text
quantity int64
unitPrice Decimal
totalPrice Decimal
我需要的是totalPrice的值是数量+ totalPrice的结果
为此,我需要使用NSManagedObject的子类而不是Entity。 我从实体生成了这样一个类,但我不知道如何实现该类。 我想添加,删除SET和获取记录。
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface Products : NSManagedObject
@property (nonatomic, retain) NSString * descript;
@property (nonatomic, retain) NSNumber * id;
@property (nonatomic, retain) NSNumber * quantity;
@property (nonatomic, retain) NSString * sku;
@property (nonatomic, retain) NSDecimalNumber * totalPrice;
@property (nonatomic, retain) NSDecimalNumber * unitPrice;
@end
#import "Products.h"
@implementation Products
@dynamic descript;
@dynamic id;
@dynamic quantity;
@dynamic sku;
@dynamic totalPrice;
@dynamic unitPrice;
@end
答案 0 :(得分:0)
将totalPrice
实现为瞬态属性。在Core Data模型编辑器中将其标记为 transient 。
然后,在您的托管对象子类中,只需覆盖getter。
- (NSNumber*)totalPrice {
return @(self.unitPrice.floatValue * self.quantity.intValue);
}
如果未设置任何其他两个属性,则应按预期返回0.