프로토콜 조회. 기본적으로 공유 할 정보가있는 클래스가 있습니다. 이 경우 위에서 언급 한 것처럼 세부 컨트롤러 또는 일종의 데이터 개체가됩니다. 공유 할 정보가있는이 클래스가 해당 정보를 사용하는 프로토콜을 선언하게하십시오. 메서드는 매개 변수를 사용하여 정보를 몰래 가져와야합니다. 또한 클래스는 이라는 id (보다 작은) 프로토콜 (위보다)을 위임자로 선언합니다. 여기서 "프로토콜"은 위에서 선언 한 것입니다.
이제이 클래스에서 공유하려는 정보를 얻었을 때 (그러나 그렇게 함) 대리인에게 메시지를 보냅니다. [delegate informationObtained:newInfo]
.
이 정보가 필요한 클래스 또는 클래스의 경우 프로토콜 방법을 구현하십시오. 필요한 정보가 매개 변수에 의해 메소드에 전달됩니다. TextFieldDelegate
과 UIPickerFieldDelegate
을 사용하는 것과 같은 방법으로 프로토콜을 결정하고 프로토콜을 구현하는 방법을 결정합니다. 다음 코드 예제입니다
SpeakHereController.h 인터페이스에서
@protocol SpeakHereControllerDelegate
-(void)newSoundCreated:(NSString *)newSoundName savedFile:(BOOL)savedFile element: (id)element;
-(void)cancelNewSound;
-(void)soundEdited;
@end
에서
: ID 위임; 내가 정보를 한 번 내가 공유하고자하는, 구현 파일에서
을 (할당되지 않은 원자)이를 위해선, @property를 잊지 마세요 다음의 tableview 컨트롤러 이제
[self.delegate newSoundCreated:myFileName savedFile:self.savedFile element:self];
을 그
01 : 그런 다음 실행 파일의 메소드를 구현하면 프로토콜을
@interface AlarmSoundsTableViewController : UITableViewController <SpeakHereControllerDelegate, UITableViewDataSource, UITableViewDelegate>
을 구현하고자하는 .H 파일 선언에 :이 정보를 사용하고자
내비게이션 컨트롤러, 모달 뷰 등이 있습니다. –
예, 특정 샘플을 찾고 있습니다. UITableView를 세부 UIView로 연결했습니다. 표의 선택한 텍스트가 자세히보기의 텍스트 필드로 표시되지만 해당 텍스트를 편집하여 표보기로 되돌릴 수는 없습니다. 누구에게나 구체적인 아이디어가 있습니까? –