хотите удалить определенный элемент коллекции с помощью кнопки «Удалить» в этом представлении - PullRequest
1 голос
/ 09 апреля 2010

У меня есть элемент представления коллекции и вид его прототипа. В этом виде прототипа у меня есть маленькая кнопка х. Я хочу, чтобы эта кнопка удаляла точный элемент представления коллекции, над которым он находится.

Я могу удалить выбранный элемент, если щелкну пробел вокруг кнопки x, но если перейти непосредственно к нажатию кнопки, прежде чем щелкнуть элемент, будет удален только последний выбранный элемент.

идеи?

1 Ответ

2 голосов
/ 14 декабря 2010

Хорошо, это должно быть весело!

Шаг первый: измените сигнатуру метода removeQuartzPlayer на:

-(void)removeQuartzPlayer:(id)aPlayer;

Где aPlayer будет игроком, которого вы хотите удалить. Измените реализацию так, чтобы она выглядела примерно так:

[quartzPlayerArrayController removeObject:aPlayer];

Где quartzPlayerArrayController будет заменено именем выхода NSArrayController, к которому подключено представление вашей коллекции. Я верю, что вы можете выяснить, как создать для него IBOutlet, если у вас его еще нет.

Шаг один-пятый: удалите соединение между кнопкой и методом removeQuartzPlayer в IB.

Шаг второй: Переключитесь на панель «Привязки» Инспектора IB. Выберите привязку «Target» и сделайте так, чтобы она выглядела так:

IB Bindings pane 1

Где всплывающее окно «Контроллер» будет установлено на любой объект, указывающий на ваш контроллер.

Шаг третий: выберите привязку «Аргумент» и сделайте так, чтобы она выглядела так:

IB Bindings pane 2

Где всплывающее окно "Просмотр элементов коллекции" ... вы поняли идею.

Шаг четвертый: наслаждайтесь своей новой кнопкой, принесенной вам (темной) магией привязок какао!

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

...