MarioGil Postado 19 de março de 2011 Denunciar Compartilhar Postado 19 de março de 2011 Oi pessoal, estou desenvolvendo um aplicativo pra mac e me deparei com um problema que nao consigo resolver. Ficaria muito grato se alguém pudesse me ajudar. Tenho 4 tableViews na mesma Window, com 4 ArrayControllers (todas conectadas ao IB via IBOutlet ) Eu gostaria de implementar a possibilidade de deletar um registro a partir do teclado, e imaginei que a melhor forma fosse criando uma condicional para detectar o firstResponder. Eu precisaria de alguma coisa que funcionasse mais ou menos assim if (tableView1 == firstResponder) [arrayController1 remove:nil]; agradeço qualquer ajuda abs Mario Gil Citar Link para o comentário Compartilhar em outros sites More sharing options...
MarioGil Postado 22 de março de 2011 Autor Denunciar Compartilhar Postado 22 de março de 2011 Resolvido, Vou postar porque outras pessoas podem precisar dessa solução // DELETA UM REGISTRO DA RESPECTIVA TABLEVIEW -(void)keyDown:(NSEvent *)e { if (([e keyCode] == 51) || ([e keyCode] == 117)) { if (tableViewEquipamentos == [[self window] firstResponder]) { [equipamentoAC remove:nil]; } if (tableViewCategoria == [[self window] firstResponder]) { [categoriaAC remove:nil]; } } else { [super keyDown:e]; } } // ========================================================================================= Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 22 de março de 2011 Denunciar Compartilhar Postado 22 de março de 2011 (editado) Resolvido, Vou postar porque outras pessoas podem precisar dessa solução // DELETA UM REGISTRO DA RESPECTIVA TABLEVIEW -(void)keyDown:(NSEvent *)e { if (([e keyCode] == 51) || ([e keyCode] == 117)) { if (tableViewEquipamentos == [[self window] firstResponder]) { [equipamentoAC remove:nil]; } if (tableViewCategoria == [[self window] firstResponder]) { [categoriaAC remove:nil]; } } else { [super keyDown:e]; } } // ========================================================================================= tinha pensado em algo como if ([tableView isFirstResponder]) { } mas acho que pra mac isso não deve funcionar... Editado 22 de março de 2011 por Gabriel Vincent Citar Link para o comentário Compartilhar em outros sites More sharing options...
MarioGil Postado 25 de março de 2011 Autor Denunciar Compartilhar Postado 25 de março de 2011 Oi Gabriel, realmente pra Mac naão tem isFirstResponder, por isso usei daquele jeito, abs Mario Citar Link para o comentário Compartilhar em outros sites More sharing options...
PCSaito Postado 31 de março de 2011 Denunciar Compartilhar Postado 31 de março de 2011 Correto, isso vai funcionar. Mas atente pro fato que o metodo -(id)firstReponder do NSResponder não esta declarada no cabeçalho do classe, logo é um metodo privado! Metodos privados funcionam, apesar de gerarem um warning na compilação, mas raramente são tolerados pela Apple na hora da aprovação do aplicativo. Caso o aplicativo não vá para a App Store, sem problemas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
MarioGil Postado 2 de abril de 2011 Autor Denunciar Compartilhar Postado 2 de abril de 2011 Oi PCSaito, muito obrigado pelo comentário. Na verdade eu gostaria de enviar para a App Store também, então eu gostaria de resolver esse problema que vc apontou. Como eu deveria fazer? Desde já agradeço sua colaboração Abraços Mario Gil Citar Link para o comentário Compartilhar em outros sites More sharing options...
MarioGil Postado 21 de abril de 2011 Autor Denunciar Compartilhar Postado 21 de abril de 2011 Oi pessoal, só para esclarecer, o método firtResponder está descrito na classe NSWindow. Acho que existe uma diferença em relação ao uso desse método para iOS e MAC. valeu! Mario Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.