У меня возникли проблемы с тем, чтобы NSArrayController поддерживал основные данные, чтобы нормально работать в моем коде. Ниже мой код:Инициализация NSArrayController
pageArrayController = [[NSArrayController alloc] initWithContent:nil];
[pageArrayController setManagedObjectContext:[self managedObjectContext]];
[pageArrayController setEntityName:@"Page"];
[pageArrayController setAvoidsEmptySelection:YES];
[pageArrayController setPreservesSelection:YES];
[pageArrayController setSelectsInsertedObjects:YES];
[pageArrayController setClearsFilterPredicateOnInsertion:YES];
[pageArrayController setEditable:YES];
[pageArrayController setAutomaticallyPreparesContent:YES];
[pageArrayController setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES]]];
BOOL result = [pageArrayController setSelectionIndex:0];
При попытке позвонить setSelectionIndex :, возвращает YES, указывая, что выбор был успешно изменен. Однако любые последующие вызовы getSelectionIndex для объекта pageArrayController возвращают NSNotFound.
Я не понимаю, что если я поставлю NSArrayController в NIB и разрешу файлу NIB выполнять инициализацию (со всеми одинаковыми атрибутами в Interface Builder), NSArrayController работает правильно.
Почему существует разница в поведении? Инициализирует ли NIB-файл эти типы объектов особым образом? Неправильная инициализация NSArrayController?
Любая помощь приветствуется. Благодарю.
Существует не такая вещь, как метод '-getSelectionIndex'. Вы сами пишете такой метод или на самом деле называете что-то другое? –
Я имел в виду -selectionIndex. –