2012-02-06 14 views

Respuesta

6

El TRUE macro sólo se proporciona como compatibilidad hacia atrás con el código de C (Objetivo-C está diseñado para ser un super-conjunto de C estricto). Ambos significan la misma cosa.

0

en objetivo-c YES y TRUE son lo mismo.

Además, estos pueden expresarse como 1 y 0, ya que normalmente se almacenan de esta manera en los datos básicos.

[NSNumber numberWithBool:YES];

+0

Recomendaría elegir una y seguir con ella, preferiblemente 'SÍ' ya que hace más obvio que está escribiendo código Objective-C y no código C puro, pero es realmente una cuestión de convención. –

+0

Creo que usan 'SÍ' en Objective-C debido a la forma en que expresan sus variables' BOOL' como preguntas que corresponden a la convención de nomenclatura de métodos. como 'BOOL isTrue = YES;' – MobileOverlord

+0

Se almacenan así en CD porque Core Data almacena objetos, lo que no es BOOL, por lo que usa NSNumber para almacenar BOOLs, y el método de clase 'numberWithBool' y la instancia' 'boolValue' tienda obtener el valor escalar. – Abizern

1

El valor de éxito original para BOOL en Objective C es YES. TRUE es solo un mímico para compatibilidad. Puede usar ambos, pero le recomiendo que use lo que originalmente se diseñó para el idioma. Esto es importante en caso de que las actualizaciones futuras del idioma cambien cualquier cosa en la sintaxis del idioma (lo que no es probable que suceda en este caso), el uso de la sintaxis original no hará que corrija nada en su código anterior.