Как получить некоторые значения из CoreData-Entities в код
-
20-08-2019 - |
Вопрос
Я создал в своем приложении CoreData объект с некоторыми атрибутами.Представьте себе tableview и связанный NSArrayController.С помощью обоих я создаю (и редактирую) свою сущность "экземпляры".Мой вопрос заключается в том, как я могу получить значения этих атрибутов в свой код.Если есть еще вопросы: http://twitter.com/xP_ablo
Решение
Вам нужно каким-то образом получить ссылку на NSArrayController.Если вы загружаете NIB самостоятельно, вы можете добавить экземпляр IBOutlet в класс, который задан в качестве NIBs "Владельца файла".Когда вы загружаете перо, вы указываете экземпляр класса NIB "File Owner" в качестве владельца.Если вы не загружаете наконечник самостоятельно (т.е.он автоматически загружается Cocoa как MaineMenu nib / xib вашего приложения), затем создайте экземпляр вашего собственного класса в nib и добавьте IBOutlet к этому экземпляру.Вы создаете IBOutlet в своем классе следующим образом:
@interface MyClass : NSObject { //of course your class doesn't have to be a direct descendent of NSObject
IBOutlet NSArrayController *arrayController;
}
@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;
...
@end
@implementation
@synthesize arrayController;
- (void)dealloc {
[arrayController release];
[super dealloc];
}
@end
Подключите IBOutlet в вашем классе к NSArrayController (щелкните правой кнопкой мыши на владельце файла в первом случае или экземпляре вашего класса во втором случае выше) и перетащите на NSArrayController.Когда вы отпустите мышь, вы получите всплывающее окно IBOutlets в источнике перетаскивания.Выберите созданный вами IBOutlet (например"ArrayController" в примере выше).
Один наконечник загружен (т.е.после awakeFromNib
вызывается в вашем классе), вы можете получить доступ к ArrayController через выход:
NSArray *content = [[self arrayController] arrangedObjects];
и теперь вы можете делать со значениями в массиве все, что вам заблагорассудится.
Другие советы
Если я правильно понял, у вас есть TableView, привязанный к NSArrayController, который привязан к вашим данным.
Простой способ:Создайте IBOutlet в своем классе (обычно для владельца файла) и в Interface Builder подключите этот IBOutlet к NSArrayController.Затем вы можете получить нужные вам значения из этого массива.