我有一组通过数组控制器(所有绑定)显示在 Tableview 中的属性,我编写了一些代码来根据其他属性的内容更改其中一个属性。我在 Core data 为这个实体创建的 .m 文件中写了这个:
标题:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class Instrument;
@interface IO : NSManagedObject
@property (nonatomic, retain) NSNumber * channel;
@property (nonatomic, retain) NSString * depiction;
@property (nonatomic, retain) NSString * prefix;
@property (nonatomic, retain) NSNumber * rack;
@property (nonatomic, retain) NSNumber * slot;
@property (nonatomic, retain) NSString * suffix;
@property (nonatomic, retain) NSString * tag;
@property (nonatomic, retain) NSString * type;
@property (nonatomic, retain) NSString * depictionFull;
@property (nonatomic, retain) Instrument *io_instrument;
@end
主要的:
#import "IO.h"
#import "Instrument.h"
#import "Loop.h"
#import "Area.h"
@implementation IO {
}
@dynamic channel;
@dynamic depiction;
@dynamic prefix;
@dynamic rack;
@dynamic slot;
@dynamic suffix;
@dynamic tag;
@dynamic type;
@dynamic depictionFull;
@dynamic io_instrument;
- (void)awakeFromFetch{
[self setDepictionFull:[NSString stringWithFormat:@"%@ %@ %@ %@", self.io_instrument.instrument_loop.loop_area.name, self.io_instrument.instrument_loop.depiction, self.io_instrument.depiction, self.depiction]];
}
@end
这里有两个问题:
这只会更改我的属性的表“视图”值,但不会更改实际保存的值(我知道这一点,因为当我注释掉代码时,值不会被保存)
我使用的“awakeFromFetch”函数仅在获取数据时应用代码,但我也希望在更改实体(或数组控制器)中的任何属性时刷新它。