Deseja remover um item específico da Coleção com o botão Remover nessa exibição
-
25-09-2019 - |
Pergunta
Eu tenho um item de visualização de coleção e sua exibição de protótipo. Dentro dessa exibição de protótipo, tenho um pequeno botão X. Eu quero que esse botão remova o item de exibição exata da coleção que ele está no topo.
Posso remover um item selecionado se clicar no espaço em torno do botão X, mas se eu for direto para clicar no botão antes de clicar no item, ele apenas apagará o último item selecionado.
Ideias?
Solução
Tudo bem, isso deve ser divertido!
Etapa um: Altere a assinatura do método de removeQuartzPlayer
ser:
-(void)removeQuartzPlayer:(id)aPlayer;
Onde aPlayer
será o jogador que você deseja remover. Mude a implementação para parecer algo assim:
[quartzPlayerArrayController removeObject:aPlayer];
Onde quartzPlayerArrayController
seria substituído pelo nome da tomada ao NSARRAYController ao qual sua visualização de coleção está conectada. Vou confiar que você pode descobrir como criar um iboutlet para ele, se ainda não possui um.
Etapa Um Ponto Five: Remova a conexão entre o botão e o removeQuartzPlayer
Método em Ib.
Etapa dois: mude para o painel Bindings do inspetor IB. Selecione a ligação "Target" e faça com que pareça assim:
Onde o pop -up "controlador" seria definido para qualquer objeto apontar para o seu controlador.
Etapa três: selecione a ligação "argumento" e faça com que pareça assim:
Onde o pop -up "Visualização da coleção", você entendeu.
Etapa quatro: Aproveite o seu novo botão, trazido a você pela magia (escura) das ligações de cacau!
Isenção de responsabilidade: na verdade não testei isso, mas como tenho um botão que faz algo semelhante, ele deve funcionar. Comente se eu estraguei algo.
Billy