Colección de citas famosas - Mensajes de felicitación - ¿Por qué no hay ningún cero en el diccionario?

¿Por qué no hay ningún cero en el diccionario?

1.

Nil: un puntero nulo que apunta a un objeto en oc

nil: un puntero nulo que apunta a una clase en oc

NULL: un puntero nulo apuntando a otros tipos, por ejemplo, un puntero de memoria de tipo c.

NSNull: En un objeto de colección, un objeto que representa un valor nulo.

Si obj es cero:

[objmessage] devolverá NO en lugar de NSException.

Si obj es NSNull:

[objmessage] generará una excepción n excepción.

2,

Es relativamente sencillo entender Nil y NULL literalmente. nil es un objeto y NULL es un valor. Tengo entendido que nil establece el objeto en nulo y NULL establece el tipo primitivo en nulo. Además, cuando llamamos al método nil, no generamos un bloqueo ni lanzamos una excepción.

Ver uso

NSURL * url = nil

Clase class = Nil

int * pointerInt = NULL

Nil significa que el puntero de objeto está vacío, nil significa que el puntero de clase está vacío y NULL significa que el tipo de datos básico está vacío.

Estos cinco conceptos se confunden fácilmente, y en algunos casos tienen el mismo uso. Primero, explique el significado de "puntero nulo". Un puntero nulo significa que el puntero no apunta a un área de memoria significativa. Por ejemplo, int * p; int * p = NULL

objeto ns * obj 1 =[[objeto ns alloc]init];

objeto ns * obj 2 =[ns null null] ;

ns object * obj 3 =[ns object new];

NSObject * obj4

NSArray * arr 1 =[NSArray arrayWithObjects: obj 1 , obj2, obj3, obj4, nil];

NSLog (@"arr1 count: ld", [arr 1 count]); //count: 3 Debido a que obj=nil, la adición del objeto se completa cuando agregando obj4.

objeto ns * obj 1;

objeto ns * obj 2 =[[objeto ns alloc]init];

objeto ns * obj 3 =[ns null null];

ns object * obj 4 =[ns object new];

NSArray * arr 2 =[NSArray arrayWithObjects: obj 1, obj2, obj3, obj4, nil] ;

NSLog(@"arr2 count:ld",[arr 2 count]); //count: 0, debido a obj1=nil, los siguientes objetos no se agregan.

[NSNull null] normalmente actúa como marcador de posición, como se muestra a continuación:

ns object * obj 1 = [ns null null]

NSArray * arr; 1 = [NSArray arrayWithObjects: @"Uno", @"DOS", obj1, @"tres", nil];

for (ns string * str in arr 1) {

NSLog(@"array object:@",str);

}//Resultado: uno, dos, tres

objeto ns * obj 1 =[ns null null];

NSArray * arr 1 = [NSArray arrayWithObjects: @"Uno", @"DOS", obj1, @"tres", nil]

for (ns cadena * cadena en arr 1) {

if (str! = [ns null]) {

NSLog (@"Objeto de matriz: @", str);

}

}//Resultado: uno, dos, tres