Pergunta

Eu tenho um arquivo chamado ManageAddressBook.m O arquivo tem dois @implementação dentro

O que faz o segundo significa?

@implementation ManageAddressBook

@end

@implementation NSString (Additions)

@end
Foi útil?

Solução

A primeira implementação é apenas uma nova classe.A segunda aplicação é basicamente extensão de métodos para uma classe existente, conhecido como Categorias.Veja o artigo: Categorias e Extensões para obter mais informações.

Como resumido no topo do link:

Uma categoria permite que você adicionar métodos a uma classe existente—mesmo para aquele para o qual você não tiver a fonte.As categorias são um recurso poderoso que permite estender a funcionalidade de classes existentes sem subclassificação.Usando categorias, você também pode distribuir a implementação de suas próprias classes entre vários arquivos.Classe extensões são semelhantes, mas permitir que outras APIs necessárias para ser declarado para uma classe em outros locais do que dentro da classe da primária @bloqueio de interface.

Outras dicas

O segundo implementa um objective-C Categoria no NSString, i.é.métodos que operam sobre NSString, mas não são fornecidos pelos escritores do NSString de classe.

A adição de categorias permite estender a funcionalidade de uma classe em uma forma que é um pouco semelhante ao C#'s métodos de extensão:o objetos de começar a responder as mensagens definidas em categorias, tornando-o conveniente para você escrever a funcionalidade de um flexíveis e modulares.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top