¿Cuál es la diferencia entre usar accesores obj-c y usar la sintaxis de puntos?

Desde que empecé con el desarrollo del iPhone, he estado un poco confundido en cuanto a cuál es la mejor manera de acceder a los datos como miembro de una Clase.

Digamos que tengo una clase llamada MyClass, y en ella tengo:

@interface MyClass : NSObject {
    int myInt;
}

@property (nonatomic, assign) int myInt;

En la implementación, es mejor hacer esto:

myObject.myInt = 1;

¿O esto?

[myObject setMyInt:1];

Esto va para leer el valor también.

int newInt = myObject.myInt;

contra

int newInt = [myObject myInt];

Respuestas a la pregunta(3)

Su respuesta a la pregunta