Как получить некоторые значения из CoreData-Entities в код - PullRequest
0 голосов
/ 29 января 2009

Я создал в своем приложении CoreData сущность с некоторыми атрибутами. Представьте себе табличное представление и связанный NSArrayController. В обоих случаях я создаю (и редактирую) свои сущности. Мой вопрос заключается в том, как я могу получить значения этих атрибутов в моем коде. Если есть еще вопросы: http://twitter.com/xP_ablo

Ответы [ 2 ]

2 голосов
/ 31 января 2009

Вам нужно как-то получить ссылку на NSArrayController. Если вы загружаете NIB самостоятельно, вы можете добавить экземпляр IBOutlet в класс, который установлен как NIB "Владелец файла". Когда вы загружаете перо, в качестве владельца вы указываете экземпляр класса «Владелец файла». Если вы сами не загружаете NIB (то есть он автоматически загружается Cocoa как nib / xib MaineMenu вашего приложения), то создайте экземпляр своего собственного класса в 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];

и теперь вы можете делать что угодно со значениями в массиве.

1 голос
/ 30 января 2009

Если я правильно понял, у вас есть TableView, связанный с NSArrayController, который связан с вашими данными.

Простой способ: создать IBOutlet в своем классе (обычно это владелец файла) и в Interface Builder подключить этот IBOutlet к NSArrayController. Затем вы можете получить нужные значения из этого массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...