개발 삽질기/iOS

[iOS] NS_UNAVAILABLE로 init를 private method로 감추기

레몬킴🍋 2020. 3. 4. 15:02
//사용하지 못하게 감추고 싶은 메소드 명 뒤 NS_UNAVAILABLE
- (instancetype)init NS_UNAVAILABLE;

 

Objective C에서는 NSObject를 반드시 상속받으므로, init가 public 으로 오픈되게 됩니다. 

하지만 때때로 init를 private 하게 바꾸고 싶은 때가 있는데, 그 때 사용하면 됩니다. 

 

+ 자동완성 리스트에도 NS_UNAVAILABLE가 추가된 메소드는 나타나지 않습니다.