declared-property

Objective-C declaró @atributos de propiedad (nonatomic, copy, strong, weak)

¿Puede alguien explicarme en detalle cuándo debo usar cada atributo: nonatomic, copy, strong, weak, y así sucesivamente, para una propiedad declarada, y explicar lo que cada uno hace? Algún tipo de ejemplo también sería genial. Estoy usando ARC.

¿Las propiedades declaradas requieren una variable de instancia correspondiente?

¿Las propiedades de Objective-C 2.0 requieren que se declare una variable de instancia correspondiente? Por ejemplo, estoy a ... (nonatomic, retain) NSString *name; @end ¿Es esto todavía válido? ¿Y es de alguna manera diferente a mi ejemplo anterior?

¿Debería una propiedad NSString bajo ARC ser fuerte o copy?

Cuando no se compila con ARC, se recomienda usar las propiedades copy para tipos de datos como NSString. No pude encontrar la documentación adecuada sobre el uso de copy en modo ARC. ¿Puede alguien decirme qué es aplicable para ARC?

MyView.marco.origen.x = valor; no funciona-Pero ¿por qué?

Sé que no puedo usar esto: myView.frame.origin.x = 25.0; Y que tengo que usar esto en su lugar: CGRect myFrame = myView.f ... a "Expresión no asignable". Hace algún tiempo tienes un error de compilación "Lvalue required as left operand of assignment".

Exponer un método o propiedad privada Objective-C a subclases

De acuerdo con alguna charla oficial, una clase en Objective-C solo debería exponer métodos y propiedades públicas en su enca ... esde subclases. Me pregunto, ¿hay alguna manera de lograr esto, aparte de declarar públicamente propiedades/métodos privados?

Acceda a la propiedad Objective-C dinámicamente usando el nombre de la propiedad

Conozco el nombre de cadena de una propiedad de un objeto. ¿Cómo podría obtener y configurar esa propiedad usando la cadena?

Obtener el nombre de la propiedad como una cadena

Necesito una forma de pasar una propiedad y obtener el nombre asignado a ella. Alguna sugerencia? @property (nonatomic, reta ... ject *crazyObject; NSString *str = SOME_WAY_TO_GET_PROPERTY_NAME(crazyObject); // Above method should return @"crazyObject"

¿@synchronized (self) crea un bloque donde el prefijo self es innecesario en las propiedades?

He leído algo en algún código extranjero y quiero comprobar mi suposición: @synchronized(self) se utiliza para deshacerse d ... tring * strText = @"var in function"; @synchronized(self) { strText = @"var class (self.strText)"; } }