NSObject를 서브 클래 싱하는 동안 self = [super init];
을 사용자 지정 초기화 메서드로 작성하는 것이 합리적입니까? 다른 클래스를 서브 클래 싱 할 때 필요하다고 알고 있는데, 사용자 정의 초기화가있을 수 있기 때문에 NSObject init 메소드는 아무 것도하지 않습니까?NSObject init 메서드는 어떤 작업을 수행합니까?
답변
개체를 초기화 할 때까지 사용할 준비가되지 않았습니다. NSObject
클래스에 정의 된 init
메서드는 초기화를 수행하지 않습니다. 그것은 단순히 자기를 돌려 보낸다.
기본적으로 NSObject
하위 클래스에서 [super init]
을 반드시 호출 할 필요는 없지만 여전히 권할 만합니다. 그것은 단순히 더 나은 디자인입니다. 수퍼 클래스를 변경하면 여전히 작동합니다.
출처 : NSObject Class Reference.
+1 "나는 여전히 추천한다."- NSObject 구현이 변경 될 수 있고, 클래스의 수퍼 클래스를 변경할 수 있습니다. 수퍼 클래스의 동작에 대해 물건을 추론하는 것은 클래스의 일이 아닙니다. – Tim
감사합니다. :) –
아니요, 정말로, 당신의 코드는 ** 틀린 **입니다. 만약 당신이'self = [super init ...];'하지 않는다면. NSObject의 구현이 무엇을하든 상관 없습니다. 취약성을 최소화하기 위해 그리고 문서화 된 올바른 패턴을 따르는 것이 유지 보수가 용이 한 앱으로 이어지기 때문에 어디에서나 패턴을 일관되게 사용하십시오. – bbum
- 1. minHeight가 어떤 작업을 수행합니까?
- 2. 어떤 컬렉션이이 작업을 수행합니까?
- 3. Java에서 어떤 작업을 수행합니까?
- 4. MvcBuildViews가 실제로 어떤 작업을 수행합니까?
- 5. LLVM은 어떤 최적화 작업을 수행합니까?
- 6. jQuery 라이브러리에서 어떤 작업을 수행합니까?
- 7. <String>은 어떤 작업을 수행합니까?
- 8. YES로 설정하면 UIView layer.masksToBounds는 어떤 작업을 수행합니까?
- 9. Win32 C++ - 창이 복원되면 어떤 작업을 수행합니까?
- 10. glBufferData의 힌트 플래그가 실제로 어떤 작업을 수행합니까?
- 11. mutt 구성에서 사서함 명령은 어떤 작업을 수행합니까?
- 12. poAsyncLoad 옵션은 TXMLDocument에서 어떤 작업을 수행합니까?
- 13. 스레드를 실행할 때 Handler는 어떤 작업을 수행합니까?
- 14. SPSecurity.RunWithElevatedPrivileges는 콘솔 응용 프로그램에서 어떤 작업을 수행합니까?
- 15. 쿼리 처리기를 사용합니까? 그렇다면 어떤 작업을 수행합니까?
- 16. Clojure Inspector (inspect) 버튼은 어떤 작업을 수행합니까?
- 17. IF 작성자는 게시자의 작성자이며 어떤 작업을 수행합니까?
- 18. 스칼라 - "assertThrows"메서드는 어떻게 수행합니까?
- 19. Connection, Statement 등과 같은 미리 정의 된 인터페이스의 추상 메서드는 본문을 가지지 않고 어떤 작업을 수행합니까?
- 20. NSObject 속성에서 커스텀 NSObject 읽기하기
- 21. MSBUILD에서 작업을 어떻게 수행합니까?
- 22. SQL에서이 작업을 어떻게 수행합니까?
- 23. GetPath()가이 작업을 수행합니까?
- 24. belongs_to에서 accepts_nested_attributes_for 작업을 수행합니까?
- 25. 어떻게 ProgressBar 작업을 수행합니까?
- 26. SQLAlchemy의 M2M에서 간단한 next() 메서드는 어떻게 수행합니까?
- 27. 내 새 HttpModule의 Init() 메서드는 언제 시작됩니까?
- 28. CLLocationManager distanceFilter가 전력을 절약하기 위해 어떤 작업을 수행합니까?
- 29. 웹 사이트에서 사용할 수있는 특정 링크를 클릭하여 어떤 작업을 수행합니까?
- 30. .NET에서 AES 인코딩을 구현할 때 Streams는 어떤 작업을 수행합니까?
들어가는 것이 좋은 습관입니다. – Kyle