ios interface iVar vs Propiedad

En un file .h, ¿cuál es la diferencia entre:

@interface ViewController : UIViewController @property (strong, nonatomic) UIView* myView; 

Y

 @interface ViewController : UIViewController{ UIView* myView; } 

El primero es la statement de una propiedad, mientras que el segundo es solo un ivar. Una propiedad es la statement automática de un getter y un setter para un ivar, pero si no hay ivar (como en su primer ejemplo), la propiedad también creará el ivar.

La principal diferencia es que una propiedad @ es visible para otros objects, y estos pueden acceder a ellos usando una instancia de su class.

Puede usar @synthesize en su file de implementación para automatizar las funciones de definición de getter setter en su implementación.

Actualizado (siguiendo la sugerencia de @ Graham Lee )

De acuerdo con el especificador de visibilidad para su variable de instancia (@protected / @private / @public), ivar se puede usar en su file de implementación, subclasss u otras classs. El valor implícito es @protected, por lo que en su ejemplo será visible para su file de implementación y subclasss.