Como adicionar métodos a classe existente em desenvolvimento ios

Video: Desenvolvimento iOS - Primeira aplicação : ]

No desenvolvimento de aplicativos iOS, Objective-C permite que você adicione seus próprios métodos para existir classes, até mesmo as classes que você não tenha escrito. Adicionando métodos adicionais para uma classe é útil em uma situação em que o novo comportamento é usado apenas em determinadas situações.

Como exemplo, você pode achar que um aplicativo específico (por exemplo, um verificador de palíndromo) precisa reverter praticamente qualquer cadeia que está tratando! Pode fazer o seu programa muito complicado para criar sua própria subclasse de NSString com o método reverso adicional. Em vez disso, você pode achar que é muito mais conveniente para adicionar o novo comportamento para a classe original.

Note que você não pode modificar a interface ou implementação NSString original, porque é uma classe quadro e você não tem o código-fonte. No entanto, você pode estender a classe NSString (ou qualquer outra classe) definindo uma nova categoria. No PostfixAll.m arquivo, você verá que a classe NSString foi estendido com um método chamado reverso da seguinte forma:

Video: Intensivão de Xamarin parte 2 – Como funciona o desenvolvimento multiplataforma iOS, Android e UWP?

@interface NSString (ReversibleString) - (NSString *) inverter - d


Como você pode ver, a definição de uma categoria é muito semelhante ao que define uma interface para uma classe. Na verdade, proporcionando uma aplicação para os métodos de uma categoria também é muito semelhante ao proporcionar a execução de uma classe em que os métodos são colocados num bloco @implementation. Você pode ver o bloco de implementação para a categoria abaixo (no arquivo PostfixAll.m):

@implementation NSString (ReversibleString) - (NSString *) inverter {NSMutableString * reversedString = [[NSMutableString alloc] Init] -int StringLength = self.length-para (int i = StringLength-1- i gt; = 0- i -) {NSString * oneCharString = [auto substringWithRange: NSMakeRange (i, 1)] - [reversedString appendString: oneCharString] -} retorno reversedString -} - d

Finalmente, o usar de um método definido em uma categoria não é diferente da utilização de qualquer outro método, tal como pode ser visto a partir da seguinte fragmento de código feita da função principal de PostfixAll.m:

Video: Introdução ao desenvolvimento iOS

 NSLog (@"Impressão revertida stringgt;% @ lt;", [AStringObject inverter]) -

Publicações relacionadas