Como adicionar métodos às classes existentes no desenvolvimento ios

Video: Criando um aplicativo de tarefas para iPhone em Swift (Parte 1)

Curiosamente, Objective-C permite que você adicione seus próprios métodos para existir classes em um aplicativo iOS, mesmo aquelas 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. Não seria agradável se você poderia adicionar um método inverso para NSString em si!

Video: Qual a sua classe social? Saiba os critérios de classificação

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:

@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 (que inclui o código para o reverso método) 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: Clash Royale Hack apk - Android - IOS

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

Publicações relacionadas