Objective-C에서 클래스 메서드 (멤버 변수 또는 인스턴스 메서드 없음) 만 포함하는 클래스가 있으면 클래스 헤더 파일 (.h)에서 클래스 메서드를 정의하고 .m 파일?헤더의 클래스 메서드 구현
2
A
답변
3
수 있습니다.하지만 기본적으로해서는 안됩니다. @implementation을 헤더에 넣을 수는 있지만 반대 개념이기 때문에 의도하지 않은 부작용이있을 수 있습니다. C++ 또는 다른 언어와 동일합니다 (예 : 헤더가 # 앞에 오도록 #include 할 수없는 것) include, 그래서 당신은 정상적인 네임 스페이스를 가질 수 없다).
Objective-C의 모범 사례는 설명서와 함께 헤더 파일에 선언 만 보관하는 것입니다. 문서는 일반적으로 매우 장황합니다 (잘 작성된 경우). 이는 이미 헤더에 내용이 약간 포함되어 있습니다. 코드 상단에 코드를 추가하는 것이 너무 많습니다.
클래스 또는 인스턴스가 아닌 Objective-C 메소드의 인라이닝이 없다는 점도 기억하십시오. 이것이 헤더 파일에 코드를 삽입하는 큰 이유 중 하나입니다. C/C++에서는 상대적으로 인기있는 방법입니다. 물론 Objective-C 헤더 파일에 정적 함수를 넣을 수 있으므로 코드를 그런 식으로 구현할 수는 있지만 바람직하지 않은 디자인이 될 수 있습니다. 예를 들어 클래스 메서드는 네임 스페이스를 사용하여 일반적으로 이점을 취하는 것이 현명합니다 .
관련 문제
- 1. 추상 클래스, 메서드 구현 구현
- 2. JTable 행 헤더의 구현
- 3. 메서드 구현
- 4. SOAP 헤더의 메서드 서명이란 무엇입니까?
- 5. DllRegisterServer 메서드 구현
- 6. WCF 게시 메서드 구현
- 7. 반복자 (iterator) 메서드 구현
- 8. 메서드 구현 끝의 세미콜론
- 9. [MapKit] 대리자 메서드 구현
- 10. 선호하는 Equals() 메서드 구현
- 11. setTimeout 네이티브 메서드 구현
- 12. 인터럽트 가능한 메서드 구현
- 13. 개인 메서드 구현
- 14. DotNetOpenAuth - IDirectWebRequestHandler 클래스 구현
- 15. 클래스 메서드 구현 : 클래스의 멤버 변수를 변경하거나 인수를 받아야합니까?
- 16. Java에서 여러 자식 클래스로 부모 클래스 메서드 구현
- 17. 클래스 메서드 및 인스턴스 메서드
- 18. 자바 : 드로어 블 클래스 구현
- 19. objective-c 헤더의 C++ 클래스 선언
- 20. javadoc : 클래스 헤더의 개념을 참조 하시겠습니까?
- 21. 클래스 객체에서 클래스 메서드 수행
- 22. 클래스 인스턴스의 메타 클래스 메서드
- 23. 클래스 메서드 생성자의 유형 오류
- 24. 기본 클래스 전용 메서드?
- 25. 메서드 : 클래스 인스턴스 검색
- 26. 여러 어셈블리에 부분 메서드 구현
- 27. 파이썬 DBus에서 비동기 메서드 구현
- 28. .NET에서 런타임시 스왑 메서드 구현?
- 29. C에서 HTTP PUT 메서드 구현
- 30. jquery 메서드 및 구현 추가
은 "모범 사례"가 아니지만 시도하지 않는 이유는 무엇입니까? –
할 수 있지만 할 수는 없습니다. 목표 -C는 C++이 아닙니다 (다행스럽게도). –
글쎄, 그들의 부작용은 그렇게하는 것입니까? Xcode의 메소드 인식을 깨뜨릴 수 있습니까? ARC 친화적입니까, 해킹입니까? 애플은 그것에 대해 아무 말도하지 않았습니까? –