El guión bajo único en Objective-C aparentemente está reservado para el uso "interno" de Apple (y estaba disponible para su uso con variables de instancia privadas antes del reclamo de Apple). Pero ¿por qué iban a utilizar un doble -core en su ejemplo SQLiteBooks para el iPhone? Ver este fragmento tomado de MasterViewController.m:Qué es este guión bajo doble en Cocoa
+ (EditingViewController *)editingViewController {
// Instantiate the editing view controller if necessary.
if (__editingViewController == nil) {
__editingViewController = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];
}
return __editingViewController;
}
hay mención del uso de doble subrayado en este forum lo que se refiere a C - es para el "uso interno de Compier." Supongo que no veo cómo eso es aplicable en esta situación.
Necesito un ViewController en mi aplicación que se comporte de manera similar al proyecto de ejemplo de SQLiteBooks, pero este doble subrayado me tiene perplejo.
No puedo decir si también se aplica a C, pero en C++, se aplica un doble guión bajo para la implementación, así como un guión bajo seguido de una letra mayúscula. Eso significa que __editingViewController de hecho estaría usando un nombre que está técnicamente reservado para el proveedor del compilador. – jalf
-1. \ _ \ _ o \ _A (a \ _Z) está reservado para el uso del compilador e invoca un comportamiento no definido. El * preprocesador * puede hacer lo que le dé la gana si le da un doble guión bajo. El hecho de que funcione en la mayoría de los casos no lo hace válido C. –