У меня есть набор атрибутов, которые отображаются в Tableview через контроллер массива (все привязки), я написал код для изменения одного из атрибутов на основе содержимого других. Я написал это в файле .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
две проблемы:
Thi s меняет только значение таблицы «view» моего атрибута, но не фактическое сохраненное значение (я знаю это, потому что, когда я комментирую код, значение не сохраняется)
Функция «awakeFromFetch», которую я использую только применяет код, когда я извлекаю данные, но также хотел бы, чтобы он обновлялся при изменении любого атрибута в сущности (или контроллере массива).
Я понимаю значение использования указанной выше функции, но моя проблема заключается в том, чтобы знать, где я ее запрашиваю. Кроме того, как я могу явно что-то сохранить? Причина, по которой я разместил свой код в этом объекте, заключается в том, что я обнаружил, что это единственное место, которое изменило все соответствующие значения в моей таблице. Мои извинения, я очень новичок в таких программах :) – Canto
@Canto Я добавил некоторую информацию в свой ответ, посмотрим, поможет ли это вам. Я не совсем уверен, что вы спрашиваете, поэтому я только догадывался. – Firo
Спасибо Firo! Я внес изменения, которые вы рекомендовали: -Модули код к отдельному классу объектов -Можно применять/сохранять изменения в моем атрибуте, но только для одного. Невозможно применить изменения ко всем тем же атрибутам в организация. – Canto