Метод в NSTableViewDataSource объявлен как:
- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
Ваш метод использует int
в качестве типа переменной rowIndex
.Измените это на NSInteger
, и все будет хорошо.
Основная проблема заключается в том, что Objective-C не поддерживает ковариацию или противоречивость в аргументации метода, что приводит к предупреждению.
Обратите внимание, что вы объединяете модель данных со слоем представления.Отмена таким способом будет очень, очень хитрой;если вы также не управляете стеком отмены в контексте каждого вида таблицы и / или добавления / удаления строк, отмена будет применять значение к неправильной строке.
Вы были бы далеколучше переделать приложение так, чтобы у вас было правильное разделение вида модели и контроллера.