У меня были проблемы с NSTokenFieldCell, поэтому я приступил к созданию нового проекта в XCode, чтобы изолировать проблему. Вот что я сделал:
- Удалил NSTableView в главное окно;
- выделил текстовую ячейку второго столбца и изменил ее класс (с помощью Identity Inspector) на NSTokenFieldCell;
реализован минимально возможный объект источника данных со следующим кодом:
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return 1;
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return @"aa, bb";
}
Поначалу кажется, что все работает нормально, но если дважды щелкнуть ячейку для редактирования, затем нажать tab и shift + tab, чтобы переключать ячейки назад и вперед, в конечном итоге приложение завершается с BAD ACCESS, когда ячейка поля токена получает фокус .
Я использую Xcode 4.2 в Lion 10.7.2 со всеми настройками по умолчанию, которые поставляются с шаблоном Mac OS X Cocoa Application.