iOS9 새 키워드:'nullable','nonnull','nullresettable`

1390 단어
그들에게는 다음과 같은 장점이 있다.
  • 속성을 수식하거나 방법을 수식하는 매개 변수, 방법의 반환값, swift
  • 에 영합하기
  • 코드의 가독성을 높이고 의사소통 비용을 줄일 수 있다.
  • 수식 매개 변수는 단언을 사용하지 않아도 된다
  • 그들은 대상만 수식할 수 있을 뿐 기본 데이터 형식은 수식할 수 없다.주: 이 코드들은 인코딩 단계에만 적용되며, 컴파일러가 코드에 대한 제한과 코드에 대한 힌트만 적용됩니다.컴파일된 코드에 아무런 영향이 없습니다.
  • nullable는 이 속성이 비어 있음을 나타낸다
    //    
    @property (nonatomic, strong, nullable) NSString *name;
    //    
    @property (nonatomic, strong) NSString *_Nullable name;
    //    
    @property (nonatomic, strong) NSString *__nullable name;
    
  • nonnull동리
    //    
    @property (nonatomic, strong, nonnull) NSString *name;
    //    
    @property (nonatomic, strong) NSString *_Nonnull name;
    //    
    @property (nonatomic, strong) NSString *__nonnull name;
    
  • null_resettableget: 비워둘 수 없습니다. set은 비워둘 수 있습니다. null_resettable를 사용하면 get 방법이나 set 방법을 다시 써야 합니다. 전송값이 비워진 경우
  • 를 처리해야 합니다.
  • null_unspecified 빈 주석인지 확인하지 못함: 이 키워드는 사용하지 않습니다
  • NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END.이것은 매크로 (문법사탕) 이다. 이 두 매크로 사이에 당신이 정의한 모든 속성이 있습니다. 당신이 스스로 성명하지 않으면 다른 속성은 기본적으로 있습니다. nullable
  • 또한 방법 중 키워드 쓰기 규범은 이전의 속성과 유사한 정의 방식을 규범화하고 순서를 흐트러뜨려서는 안 된다
    - (nonnull NSString *)method:(nonnull NSString *)str;
    - (NSString * _Nonnull)method2:(NSString * _Nonnull)str;

    좋은 웹페이지 즐겨찾기