Я получаю следующую ошибку из Xcode:
Couldn't compile connection: <IBCocoaTouchOutletConnection:0x401538380
<IBProxyObject: 0x40154a260> => categoryPicker => <IBUIPickerView: 0x4016de1e0>>
Я свел это к одному соединению аутлета в storyboard. Мой код (около 30 представлений с множеством других соединений) компилируется и работает нормально, пока я не добавляю соединение от UIPicker к свойству categoryPicker представления. Сам пикер также работает нормально, я просто не могу перезагрузить его, не добившись работы этого соединения:
@interface FiltersTableViewController : UITableViewController <UIPickerViewDataSource, UIPickerViewDelegate> {
NSFetchedResultsController *fetchedResultsController;
FilterTableViewController *filterView;
AppDelegate *appDelegate;
NSManagedObjectContext *managedObjectContext;
}
@property (nonatomic, strong) FilterTableViewController *filterView;
@property (nonatomic, strong) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, strong) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, weak) IBOutlet UIPickerView *categoryPicker;
- (void)configureCell:(FilterTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
- (void)performFetch;
@end
UIPickerView находится в UITableViewCell. Вот изображение раскадровки, соединение от "categoryPicker" к "FiltersTableViewController" вызывает ошибку:
Спасибо за любые идеи или предложения по отладке!
EDIT: Я удалил соединение и добавил одну строку в numberOfComponentsInPickerView:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
categoryPicker = pickerView;
return 1;
}
Теперь это работает!, но я хотел бы понять, почему соединение не работает и что означает это сообщение об ошибке. Сейчас это кажется мне нелогичным, поскольку я везде использую IB-соединения для получения ссылок на объекты.
EDIT 2: При подключении прототипной ячейки возникает эта ошибка: Illegal Configuration: Соединение "Cell" не может иметь объект-прототип в качестве места назначения. Не уверен, что это новое в Xcode 4.5.