(Soy un cacao principiante y ) me pregunto por qué debemos hacer:

NSLog(@"this is the variable value: %d",variable);

y no algo como esto:

[NSLog outputThis:@"this is the variable value: %d" param:variable];
Porque la segunda declaración de llamadas outputThis:param: método en NSLog objeto. NSLog es sólo una función en el marco de Cacao.
sí, pero podría haber sido un método de clase para una clase NSLog, como [NSString stringWithString:@»esto es una cadena»]; ?
NSLog no «suena» a clase. NSLogger hubiera sido mejor opción para un nombre de clase. Ahora es sólo una acción.
debido a que la segunda parece una mierda y debemos sentirnos bendecidos por algo que se parece más a C 😉

OriginalEl autor tahir | 2012-06-25

3 Comentarios

  1. 18

    Estoy de acuerdo esto es bastante confuso cuando estás empezando. La razón principal es que el NSLog método, como muchos otros en el Núcleo central de la Fundación, es un C-API basada, más que como un Objetivo-C API. Funciones de estilo C este aspecto myFunction(myParameter1, myParameter2).

    Todos los GUI cosas probablemente está acostumbrado a [UIView presentModalViewController:], etc. se basa en torno a un Objetivo-C API, con los corchetes que hemos visto para las funciones (llamados selectores en Obj-C) . El lenguaje Objective-C se encuentra en la parte superior de C, por lo que vas a encontrar los estilos en la mayoría de las aplicaciones.

    Apple decide todo, y nosotros te guste

    OriginalEl autor Ben Clayton

  2. 5

    Como yo lo entiendo, NSLog no es un Objetivo de la función de C, sino una función de C integrado en la fundación de Cacao. Por lo tanto, se ajusta a C básicas funciones con variadic argumentos.

    OriginalEl autor Ryan Poolos

  3. 4

    NSLog puede parecen como una clase, pero no lo es.

    NSLog es un FoundationKit función para la impresión de depuración declaraciones a la
    la consola. Se define en NSObjCRuntime.h:

    void NSLog(NSString format, ...);

    Hay una buena cantidad de información aquí: http://cocoadev.com/wiki/NSLog

    EDICIÓN: Como @fyngyrz señalado, la página está muerta. Así aquí está una wayback-versión de la máquina de la página de 2012

    No, No la hay. La página se ha ido.
    Thanx. Editado la respuesta.

    OriginalEl autor Alladinian

Dejar respuesta

Please enter your comment!
Please enter your name here