Como declarar variáveis ​​de instância em desenvolvimento de aplicativos ios

Declarando variáveis ​​de instância para iOS requer que cada instância tem a sua própria variável. Assim, as variáveis ​​de instância são criados para cada instância (em outras palavras, cada instância recebe uma cópia destas variáveis).

Na classe PostfixCalculator, as variáveis ​​de instância são

  • expressão, o qual é (um ponteiro a) um objecto NSString

  • calculatorStack, o qual é (também um ponteiro) para um objecto StackOfInteger

o escopo de uma variável define onde ele pode ser usado. Existem quatro opções:

  • protegido: As variáveis ​​de instância são visíveis e podem ser directamente referida (ou seja, utilizado) em todos os métodos de instância de uma classe e qualquer subclasse.

    protegido é o escopo padrão.

  • private: Essas variáveis ​​são usadas somente na classe que os definido.

  • público: Essas variáveis ​​são visíveis e podem ser usados ​​em qualquer outra classe ou método.

  • pacote: Estas variáveis ​​são acessíveis somente dentro da biblioteca em que estão definidos.

Dê uma olhada em um exemplo de PostfixCalculator:

@ interface PostfixCalculator: NSObject {NSString @public * expression- @ StackOfInteger privada * calculatorStack-}-d

Aqui, a expressão é declarada como uma variável de instância pública, enquanto calculatorStack é declarado como privado.

que não protegida Scopes não são usados ​​com muita freqüência em programas de Objective-C, em parte porque a maioria das pessoas realmente não entendo eles. Considere o uso de uma das duas estratégias seguintes:



  • Deixar todas as variáveis ​​como protegidas, e escrever métodos de acesso para essas variáveis ​​que você deseja tornar visível fora da hierarquia de classes.

  • Para controlar o acesso ainda mais:

  • Explicitamente declarar variáveis ​​como privado.

    Video: iOS7 Aula 01 - Visão geral sobre iOS, MVC e Objective C

  • Fornecer métodos de acesso para essas variáveis ​​que você deseja tornar acessível fora da classe.

Se possível, ficar longe de anotar variáveis ​​como público e pacote.

Aliás, para acessar uma variável de instância no âmbito público, você usar o ponteiro para operador de membro (aka o -gt operador de seta;). Dizer que a expressão variável na interface PostfixCalculator é declarada como segue:

@public NSString * expression-

Você acessá-lo assim:

myExpression = MyCalculator-gt; expression-

Por outro lado, se a variável é declarado como privado (ou o padrão de protegida), você tem que usar um método de acesso para obter o seu valor, como mostrado aqui:

NSString * myExpression = [MyCalculator GetExpression] -

Alguns compiladores Objective-C, como o compilador gcc atual no Mac, ainda não impor âmbito privado. Em vez disso, eles só gerar um aviso se você usar uma variável declarada como privado fora da classe em que é declarado. O aviso é semelhante ao seguinte:

aviso: variável de instância ... é @ privado este será um erro grave no thefuture.

Por outro lado, o compilador dentro Xcode faz a coisa certa e diz: variable Instância ... é privado.


Publicações relacionadas