У меня есть NSArraycontroller, связанный с управляемым объектом приложения AppDelegate для моего приложения. Он действует как очередь загрузки. Элементы добавляются в NSArraycontroller программноОбъекты, удаленные из NSArraycontroller, остаются в таблице до тех пор, пока не будут нажаты
У меня есть таблица, которая показывает два из полей в этом, каждый столбец со своим значением, индивидуально связанным с указанным NSArraycontroller. Когда запускается новая загрузка, она удаляется программно из NSArraycontroller.
Я добавил кнопку для удаления загрузок из очереди до их запуска, кнопка привязана к удалению NSArraycontroller: действие, которое должно удалить выбранный элемент в таблице.
Проблема заключается в том, что при нажатии кнопки удаления выбранный элемент не удаляется из таблицы, он остается там, пока не будет нажата другая запись в таблице. Выбор строки, в которой элемент был вызван, будет выбран, если кнопка мыши удерживается нажатой, как будто она все еще присутствует, но без значений.
В консоли появляется следующее, когда кнопка удалить нажата: -[NSCFDictionary _setUnprocessedDeletion__:]: unrecognized selector sent to instance 0x2000f2220
Если удалить элементы из таблицы программно с помощью [[downloadsArray content] removeObjectAtIndex:0]; [downloadsTable reloadData]; [downloadsTable deselectAll:nil];
, кажется, работает хорошо, за исключением того, я все еще получаю невидимый элемент оставил который может быть выбран и остается выбранным только при нажатии кнопки мыши.
Я связал атрибут включенной кнопки удаления, чтобы сохранить работоспособность NSArraycontroller, и это работает правильно.
У меня есть метка, которая показывает количество элементов в очереди, это связано с NSArraycontroller ,рованнымиОбъекты, @count. Это правильно работает при добавлении элементов, но не при их удалении.
Любые идеи о том, что я делаю неправильно, будут высоко оценены.