Como definir atributos para uma propriedade de aplicativo ios declarou

Você pode definir certos atributos de propriedade quando você declarar uma propriedade para seu aplicativo iOS. Dê uma olhada para descobrir mais detalhes sobre os atributos que podem ser definidos durante a programação.

Video: How-To: HomeKit and Apple's Home App in iOS 10

semântica setter / propriedade

Essas propriedades especificam como armazenamento de instância variável deve ser gerido:

  • Forte (igual a reter, o qual foi utilizado anterior para ARC) cria um método de acesso que significa que o objecto pontos esta propriedade para será retido, enquanto que está no escopo (ou até que seja definido como nada). Este é o valor padrão.

  • fraco (igual a atribuir, que foi usado anterior para ARC) cria um acessor que utiliza atribuição simples. Você normalmente usar esse atributo para tipos escalares, tais como NSInteger e CGRect, ou (em um ambiente contou-referência) para objetos que você não possui - delegados, por exemplo - e para evitar reter problemas de ciclo.

  • cópia de especifica que uma cópia do objeto deve ser usado para a atribuição. O valor anterior é enviado um lançamento mensagem.

    A cópia é feita invocando o cópia de método. Este atributo só é válido para os tipos de objeto, que deve implementar a NSCopying protocolo.

Para propriedades de objeto, você deve especificar explicitamente um dos tipos listados precedentemente caso contrário, você recebe um aviso do compilador. Então, você precisa pensar sobre o comportamento de gerenciamento de memória que você quer, e digite o comportamento explicitamente.

writability

Os seguintes atributos especificar se uma propriedade tem um acessador set associado. Eles são mutuamente exclusivas.



  • ler escrever indica que a propriedade deve ser tratada como leitura / gravação. Este atributo é o padrão. Os métodos de obtenção e Setter são sintetizados automaticamente.

  • somente leitura indica que a propriedade é somente leitura. Apenas um método getter é sintetizado. Se você implementar seus próprios assessores, apenas a um método getter é necessária. Se você tentar atribuir um valor usando a sintaxe de ponto, você recebe um erro do compilador.

    Video: iOS 10.3: Change App Icons!

nomes de métodos acessores

Você vai lembrar que os nomes padrão para os métodos get e set associados com uma propriedade são Nome da propriedade e setPropertyName:, respectivamente. Por exemplo, para a propriedade tDescanse em paz, os assessores são viagem e setTrip:. Você pode, no entanto, especificar nomes personalizados em vez. Ambos são opcionais e podem aparecer com qualquer outro atributo (exceto para somente leitura e no caso de setter =):

Video: Top 10 iOS Apps of April 2017!

  • getter = getterName Especifica o nome do obter accessor para a propriedade. O getter deve retornar um tipo de correspondência tipo da propriedade e tomar sem parâmetros.

  • Setter = setterName Especifica o nome do conjunto accessor para a propriedade. O método setter devem ter um único parâmetro de um tipo de correspondência tipo da propriedade e deve retornar vazio.

Normalmente, você deve especificar acessor nomes de métodos que são codificação compatível key-value. Uma razão comum para usar o decorador getter é a aderir ao isPropertyName convenção para valores booleanos.

Se você tem uma propriedade booleana chamada alphabetized que você usa para manter o controle de como uma matriz de nomes é ordenada, o getter padrão seria alphabetized. Usando a convenção de nomenclatura, você criaria um método de acesso chamado isAlphabetized, que é um pouco mais clara.

Atomicidade

Você pode usar esse atributo para especificar que os métodos de acesso não são atômico. (Sem palavra-chave denota atômico.) Isso tem a ver com problemas de concorrência. Se você especificar nonatomic, um assessor sintetizado por uma propriedade do objeto simplesmente devolve o valor directamente. Caso contrário, uma sintetizado obter acessor para uma propriedade do objeto usa um bloqueio e retém e autoreleases o valor retornado.


Publicações relacionadas