Вопрос

Я создал в своем приложении 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.Затем вы можете получить нужные вам значения из этого массива.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top