iOS에서nil,NULL,Nil,NSNull,당신은 정말 알고 있습니까?

1251 단어
오늘 갑자기 닐과 넬에 대한 의문이 생겨서 인터넷에서 관련 질문을 찾아봤는데 보고 나서 드디어 뚜렷한 인식이 생겼어요. 저처럼 궁금한 구두들이 있어요.
  • nil, OC의 대상을 가리키는 빈 바늘을 정의합니다.
      :
     NSString *someString = nil;
     NSURL *someURL = nil;
     id someObject = nil;
     if (anotherObject == nil) // do something
     
      :
       release  nil, , nil, 
       .
           NSArray * array = [NSArray arrayWithObjects:@"test",@"test1" ,nil];
           [array release];
           
           if (array)
           {
           // release, nil, , 
               NSString * string = [array objectAtIndex:0];
               NSLog(@"%@",string);
           }
    
  • NULL, NULL은 C 언어의 다양한 포인터에 사용할 수 있습니다.
     #define __DARWIN_NULL 
     #define__DARWIN_NULLConstants
      :
     int *pointerToInt = NULL;    
     char *pointerToChar = NULL;  
     struct TreeNode *rootNode = NULL;
     
      :
        Objective-C ,nil NULL 。 nil , NULL 
        。 nil , crash 。
    
  • Nil, 빈 클래스 정의
      :  
     Class someClass = Nil; 
     Class anotherClass = [NSString class];
    
  • NSNull, NSNull은 하나의 클래스로 집합 대상의 빈 값을 나타내는 단일 대상을 정의한다
      nil , NSArray、NSSet NSDictionary。 ,nil 
     NSNull 。NSNull nil 。 ,
     dictionaryWithValuesForKeys: setValuesForKeysWithDictionary:         NSNull nil , NSNull 。
  • 좋은 웹페이지 즐겨찾기