보기의 속성을 반환하는 프로토콜을 선언하고 구현하는 방법은 무엇입니까? 예. mainView라는 뷰가 있는데 다른 뷰인 customView가 배열을 요청할 때 배열을 반환 할 수 있기를 원합니다. 내가하고있는 일은 mainView 구현 파일에서 returnTheArray 함수를 사용하여 프로토콜을 선언하고이 프로토콜을 채택하도록 customView를 설정했지만이 시점에서 멈추었다. 올바르게 작동하려면 어떻게해야합니까? 또는 이것을하기에 더 효과적이고 쉬운/올바른 방법이 있습니까? 감사.프로토콜을 통해 두보기 컨트롤러간에 데이터 전달
1
A
답변
2
프로토콜은 함수/메소드 이름, 매개 변수 및 반환 값의 선언 일뿐입니다. 나에게 맞는 프로토콜은 여러 클래스에 의해 수행 될 때만 합리적이다. 개인적으로 개별적인 헤더 인 protocolName.h에서 선언하는 것을 선호한다.
프로토콜을 준수하는 모든 클래스는이 메소드를 구현해야합니다. 제 생각에는 그렇게 간단합니다.
AClass.h
@itnerface AClass : NSObject의 { // 일부 속성 } // @property 문 @end
AClass.m
#include "BClass.h"
@implementation AClass
//@synthesize statements;
- (void) aFunctionFetchingTheArray {
BClass *bClass = [[BClass alloc] initWithSomething:kParameter];
NSArray *anArray = [bClass returnTheArray];
//Do something with it
}
@end
MyProtocol.h
@protocol MyProtocol
- (NSArray *) returnTheArray;
@end
BClass.h
#include "MyProtocol.h"
@interface BClass <MyProtocol> {
// some properties in interface
}
// some @property
// some methods
@end
BClass.m
#include "BClass.h" //No need to include MyProtocol.h here too, in this case
- (NSArray *) returnTheArray {
return [NSArray arrayWithObjects:@"A", [NSNumber numberWithtInt:1], [UIColor clearColor], somethingElse, evenMore, nil];
}
// more methods
@end
수정하십시오 나의 내가 놓친 또는 중요한 무언가를 맞춤법이 틀린 경우.
관련 문제
- 1. 대리자 및 프로토콜을 사용하여 두보기 (탭)간에 데이터 전달
- 2. 시작시보기 컨트롤러간에 데이터 전달
- 3. 컨트롤러간에 스프링 MVC 데이터 전달
- 4. 보기 및 컨트롤러간에 데이터 전달
- 5. 컨트롤러간에 UISegmentedControl 값 전달 ...
- 6. 컨트롤러간에 사용자 ID를 전달
- 7. 두 컨트롤러간에 개체 전달
- 8. 두 개의보기 컨트롤러간에 객체 전달
- 9. iPhone - 인접하지 않은 두 컨트롤러간에 배열 전달
- 10. 보기 컨트롤러간에 데이터 전파
- 11. 보기 컨트롤러간에 NS 핵심 데이터 컨텍스트 참조 전달
- 12. 싱글 톤 클래스의 배열을 사용하여보기 컨트롤러간에 데이터 전달 IOS?
- 13. 두 개의 뷰 컨트롤러간에 사전을 전달 하시겠습니까?
- 14. HttpWebRequest를 통해 이진 데이터 전달
- 15. URL을 통해 객체 데이터 전달
- 16. 두보기 비교
- 17. 의존성 삽입 : 컨트롤러간에 모델을 전달합니까?
- 18. 두보기 사이에서 이미지 공유
- 19. http를 통해 api/프로토콜을 찾고
- 20. angular.js의 목록보기에서 상세보기로 데이터 전달
- 21. 보기 컨트롤러간에 변수를 전달합니다.
- 22. 메서드 수정없이 호출 스택을 통해 데이터 전달
- 23. 인라인 데이터 속성을 통해 Javascript 함수 전달
- 24. 원시 HTTP를 통해 POST 데이터 전달
- 25. 리디렉션을 통해 레일 앱에 게시물 데이터 전달
- 26. AJAX를 통해 PHP 클래스에서 PHPExcel로 데이터 전달
- 27. 서비스에서 인 텐트를 통해 위젯으로 데이터 전달
- 28. 자바 스크립트에서 window.location을 통해 데이터 전달
- 29. 각 목록 항목의 두보기
- 30. 는 어떻게이 전망이 두보기
어 .. UIViewController? – meggar
예. UIViewController에서 UITableViewController로 – nemesis
왜 프로토콜이 필요한지 알지 못한다. 뷰 컨트롤러에 서로 참조가 있으면 그냥 메서드를 추가 할 수있다. – meggar