Хм. У меня есть базовое понимание основных данных, и я работал с этой проблемой. Если у вас есть подкласс NSManagedObject, вы не можете добавлять переменные экземпляра через категорию. Вы можете добавить сеттеры и геттеры и свойства, но без дополнительного хранилища.
Эта преходящая вещь звучит довольно интересно. Другой способ сделать это - иметь «обычный» объект (подкласс NSObject), который соответствует вашему NSManagedObject, а также имеет любые свойства, отличные от CoreData, которые вы хотите (включая ivars хранилища). Так это выглядит примерно так:
(Акция является сущностью CoreData)
ComboClass.h:
#import <Foundation/Foundation.h>
#import "Stock.h"
@interface ComboClass : NSObject
@property (weak, nonatomic) Stock *stock;
@property (strong, nonatomic) NSDictionary *nonPersistentDictionary;
@end
ComboClass.m:
#import "ComboClass.h"
@implementation ComboClass
@synthesize stock = _stock;
@synthesize nonPersistentDictionary = _nonPersistentDictionary;
- (Stock*)stock {
// retrieve the stock from CoreData using a fetchedResultsController
return _stock;
}
- (NSDictionary*)nonPersistentDictionary {
if (!_nonPersistentDictionary) {
_nonPersistentDictionary = [[NSDictionary alloc] init];
}
return _nonPersistentDictionary;
}
@end
Удачи,
Дэмиен