No Objective-C, posso criar categorias para estenderuma aula. Também posso adicionar propriedades a eles, pois são basicamente apenas métodos. No entanto, não posso vinculá-los com @synthesize ou de qualquer outra maneira que eu conheça. Portanto, sempre que tento usá-los, o aplicativo falha.
Existe algum uso de propriedades em categorias oueles são apenas possíveis porque isso quebraria a lógica da linguagem para proibi-los. Você poderia me dar um cenário em que definir uma propriedade em uma categoria faria sentido?
Respostas:
1 para resposta № 1O principal uso da definição de propriedade na categoria éna criação da extensão de classe, com a ajuda da categoria, quando criamos a extensão de classe, então podemos definir propriedade e sintetizá-las também. Essa é a maneira de conseguir ocultar a propriedade para acesso público.
Você pode verificar isso para obter mais informações - http://www.techpaa.com/2012/04/adding-properties-to-categories-and.html
0 para resposta № 2
A partir de A linguagem de programação Objective-C guia
Uma categoria permite adicionar métodos a umclasse existente - mesmo para uma para o qual você não tem a fonte. As categorias são uma poderosa recurso que permite ampliar a funcionalidade dos dispositivos existentes classes sem subclassificação.
Desde que você quer
adicione propriedades a eles, pois são basicamente apenas métodos
Você pode usar a categoria para adicionar métodos à classe.