Postado 19 de março de 201115 anos comment_190947 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 Denunciar
Postado 22 de março de 201115 anos Autor comment_191589 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]; } } // ========================================================================================= Denunciar
Postado 22 de março de 201115 anos comment_191816 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 201115 anos por Gabriel Vincent Denunciar
Postado 25 de março de 201115 anos Autor comment_192646 Oi Gabriel, realmente pra Mac naão tem isFirstResponder, por isso usei daquele jeito, abs Mario Denunciar
Postado 31 de março de 201115 anos comment_194324 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. Denunciar
Postado 2 de abril de 201115 anos Autor comment_194892 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 Denunciar
Postado 21 de abril de 201115 anos Autor comment_199677 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 Denunciar
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.