La mejor forma de definir constantes en Objective-C

Estoy definiendo constantes con la convención de nomenclatura adecuada en el objective-C, pero después de haber realizado algunas búsquedas en Internet, encontré tres convenciones de nomenclatura diferentes para definir las constantes. Los de los que figuran a continuación.

NSString *const kModel_userID; NSString *const k_model_user_id; NSString *const kUserId; 

Por favor, marque estos y ayúdeme cuál es la mejor forma de convención para las constantes en el objective-C. Por favor, dame una razón válida si te gusta cualquier convención. Además, si tiene alguna otra convención, comparta eso también. Gracias

Solutions Collecting From Web of "La mejor forma de definir constantes en Objective-C"

Prefijo + Alcance / Clase + Identificador / Detalle + Sufijo / ConstantType.

Omita lo que no se aplica.

Ejemplo:

 // A NSNotification name, pertaining to NSApplication NSApplicationWillBecomeActiveNotification PrClass Identifier SuffxType 

Bastante idiomático y fácil de entender, IMO;)

Utiliza una forma similar con enums:

 // enum NSApplicationDelegateReply NSApplicationDelegateReplySuccess PrClass Enum Identifier 

También debería tener en count que debe elegir prefijos para sus API que tengan 3 o más caracteres, para networkingucir la probabilidad de colisionar con las API de Apple u otras.

El prefijo k es una convención más antigua. Lo encontrará en muchas de las API C en OS X e iOS, como los frameworks Core *. No es muy idiomático para Objective-C API en estos días. Se utiliza en algunos proyectos de terceros, pero la convención de prefijos en mayúsculas es más reconocible para Objective-C. Incluso las constantes prefijadas k utilizan identificadores para 'espacio de nombres' de sus API, por ejemplo, kCTLineTruncationStart . Inteligente.