diferencia entre acceder a una propiedad a través de "propertyname" versus "self.propertyname" en el objetivo-c?

¿Cuál es el nce entre acceder a una propiedad a través de "propertyname" versus "self.propertyname" en el objetivo-c? ¿Puedes cubrir la respuesta:

¿Cuál es la mejor práctica?¿Cómo afectan los dos enfoques a la administración de la memoria (retener los recuentos / las responsabilidades de uno para la administración de la memoria) Cualquier otra ventaja / desventaja

La suposición para el escenario podría basarse en lo siguiente:

Archivo de cabecer

@interface AppointmentListController : UITableViewController {
    UIFont *uiFont;
}
@property (nonatomic, retain) UIFont *uiFont;

Implementació

- (void)viewDidLoad {
    [super viewDidLoad];  

    uiFont = [UIFont systemFontOfSize:14.0];
    //VERSUS
    self.uiFont = [UIFont systemFontOfSize:14.0];

Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta