Подтвердить что ты не робот

Что означает ошибка "Не удалось скомпилировать соединение:"?

Я получаю следующую ошибку от Xcode:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x401538380
<IBProxyObject: 0x40154a260> => categoryPicker => <IBUIPickerView: 0x4016de1e0>>

Я сузил это до единственного выходного соединения в раскадровке. Мой код (около 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" вызывает ошибку: enter image description here

Спасибо за любые идеи или предложения по их отладке!

EDIT: Я удалил соединение и добавил одну строку в numberOfComponentsInPickerView:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {

    categoryPicker = pickerView;

    return 1;

}

Теперь это работает!, но я хотел бы понять, почему соединение не работает и что такое сообщение об ошибке. Прямо сейчас это похоже на kludge для меня, так как я использую IB-соединения везде, чтобы получить ссылки на объекты.

ИЗМЕНИТЬ 2: Подключение ячейки прототипа генерирует эту ошибку: Незаконная конфигурация: соединение "Ячейка" не может иметь объект-прототип в качестве адресата. Не уверен, что это новое в Xcode 4.5.

4b9b3361

Ответ 1

Проблема в том, что это прототип ячейки. Бессмысленно иметь выход к чему-то в нем, потому что это не настоящая ячейка: это модель для того, что может быть десятками или сотнями ячеек, и в каком случае точка выхода должна быть в этом случае?

Ответ 2

SWIFT 2

Я создавал popper segue, и я получал ту же ошибку.

То, что я сделал, это следовать @matt ответам не помещать его в ячейку, что логично теперь, когда он объяснил это!

Вместо этого я помещал TableView в качестве привязки, и он работал нормально.

Надеюсь, что это поможет в будущем.