Если столбцы таблицы связаны с NSArrayController, то порядок строк никогда не должен быть случайным, поскольку массивы имеют фиксированный порядок. Кроме того, выборка, используемая контроллером массива, должна иметь дескриптор сортировки, который будет обеспечивать порядок сортировки.
Рандомизация указывает, что где-то вы отображаете набор в массив. (Наборы содержат уникальные объекты в случайном порядке.)
Кроме того, трудно добавить реализацию добавленной строки в порядке сортировки в конце таблицы, и это плохой дизайн пользовательского интерфейса.
Это сложно реализовать, поскольку Базовые данные и привязки предназначены для простого и точного отображения данных в логических отношениях, а не в произвольном визуальном расположении в пользовательском интерфейсе. Если конец таблицы не имеет логического значения для добавленного объекта Card
, вам придется проделать большую работу, чтобы он появился там.
Это плохой пользовательский интерфейс, потому что пользователь не поймет, почему вновь добавленная карта отображается в конце таблицы, когда все остальные карты отображаются в некотором логическом порядке. Если ваша таблица отсортирована по имени в алфавитном порядке, пользователь не поймет, почему в конце таблицы после «Зулу» появляется карточка с именем «Фокстрот».
Вместо этого вы должны либо отобразить новую карту в элементе пользовательского интерфейса, внешнем по отношению к таблице, и / или прокрутить таблицу до правильно отсортированного местоположения новой карты.