나는 자식 객체에 self
이라는 참조를 전달해야하는 Objective-C에서 작업하고 있습니다. 예를 들어 Java에서 내가 말할 수있는 방법으로 이것을 수행한다면 room.place(this);
Objective-C에서 어떻게하면 좋을까요? 나는 self
을 메소드 매개 변수로 전달할 수 있지만 자식 객체는 #import
다른 클래스에 있어야하며 둘 다 서로 가져올 때 오류가 발생하기 시작합니다. 어떤 도움을 주시면 감사하겠습니다.Objective-C - 자손 객체에 대한 참조 전달
0
A
답변
4
두 클래스가 서로 다른 헤더 파일을 가져와야하는 경우에는 전달 선언을 사용할 수 있습니다. 평소와 같이 자식하는 .m 파일에서
@class MyParentClass; // This is the forward declaration.
@interface MyChildClass
@property (nonatomic, strong) MyParentClass *parent;
@end
, 당신은 것 #import "MyParentClass.h"
:이 작품
하는 방법은과 같이 그것을 설정합니다 자식 헤더 파일에 있습니다. 그러면 MyParentClass.h에서 다음을 수행 할 수 있습니다. #import "MyChildClass.h"
+0
이것이 효과가있는 것처럼 보입니다. 전방 선언은 결코 배웠던 것이 아니었지만 이것은 합리적입니다. – Slayter
1
#import
클래스가 아닙니다. 너 #import
파일 - 반드시 헤더. 각 클래스의 .m 파일은 다른 클래스의 .h 파일을 가져와야하며 정상적으로 작동합니다.
관련 문제
- 1. 플러그인 - 전달 된 객체에 대한 참조 얻기
- 2. 매개 변수로 전달 된 객체에 대한 참조
- 3. ObjectiveC 클래스에서 UIViewController에 대한 참조 만들기
- 4. 객체에 대한 참조 문제
- 5. 10 개의 형제 객체에 대한 싱글 톤 참조 전달 방법
- 6. 슈퍼 생성자에 전달 된 새 객체에 대한 참조 유지
- 7. 활동에 대한 참조 전달
- 8. 포인터에 대한 참조 전달
- 9. 생성자에 대한 참조 전달
- 10. 클래스에 대한 참조 전달
- 11. 사전에있는 객체에 대한 참조 저장
- 12. ArrayList에 객체에 대한 참조 저장
- 13. 노드 객체에 대한 참조 확인
- 14. Java 객체에 대한 참조 수
- 15. Matlab : 핸들 객체에 대한 참조
- 16. 두 개의 다른 참조 클래스 객체 사이의 참조 클래스 객체에 대한 참조 전달 (축구 예제)
- 17. 프라이빗 어레이에 대한 참조 전달
- 18. IronPython, Byte에 대한 참조 전달
- 19. ObjectiveC 메소드의 인자에 대한 포인터는 기본적으로 const입니까?
- 20. 돌연변이에 대한 개체에 대한 참조 전달 C++
- 21. 격자 위치에 포함 된 객체에 대한 참조
- 22. 동일한 (?) 객체에 대한 서로 다른 객체 참조
- 23. 이미 해제 된 객체에 대한 잘못된 참조
- 24. 부분적으로 구성된 객체에 대한 참조 이스케이프입니까?
- 25. 복사 구성 객체에 대한 C++ 참조
- 26. 루아에서 객체에 대한 모든 참조 찾기
- 27. ListView 내에서 객체에 대한 참조 가져 오기
- 28. raphael.js에서 객체에 대한 위치 지정 참조 전환
- 29. Polygon 객체에 대한 Google지도 정보 참조 문제
- 30. 동적으로 할당 된 객체에 대한 참조 반환
자식 클래스에서 .h 대신 .m 파일에 #import를 쓸 수 있습니다. 어떤 문제도 없을 것입니다. – Sumanth
1) 헤더 파일 중 적어도 하나에서 forward 선언문을 사용해야합니다. 2) 잘못된 디자인입니다. 델리게이트를 사용해야합니다. – Perception