配列コントローラー (すべてのバインディング) を介して Tableview に表示される一連の属性があり、他のコンテンツに基づいて属性の 1 つを変更するコードをいくつか書きました。Core データがこのエンティティ用に作成した .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
ここには 2 つの問題があります。
これは、属性のテーブル「ビュー」値のみを変更し、実際に保存された値は変更しません (コードをコメントアウトすると値が保存されないため、これはわかっています)
私が使用する「awakeFromFetch」関数は、データをフェッチするときにのみコードを適用しますが、エンティティ (または配列コントローラー) の属性を変更したときにも更新したいと考えています。