스토리 보드 핵심 데이터 프로그램에서 두 개의보기 컨트롤러간에 문자열을 전달하려고합니다. 설정 방법은 다음보기를 한 섹션에만 밀어 넣기를 원합니다. 그러므로 "prepareForSegue"보다는 "didSelectRowAtIndexPath"를 사용하십시오. 아래는 "didSelectRow ..."에 대한 코드입니다. "five"는 push되는 viewController 클래스입니다.didSelectRowAtIndexPath가 문자열을 전달할 수 없습니다.
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.section == 0)
{
five *five=[[five alloc]init];
five.delegate = self;
[self performSegueWithIdentifier:@"segue1" sender:self];
}
}
"two"는 부모보기입니다. 다음은 "5"클래스에서 생성 된 프로토콜에서 사용되는 방법입니다. "friendString"은 "two"클래스에 있고 "fiveString"은 "five"에 있습니다. 뷰가 팝되면 문자열이 같아야하고 "two"의 UITextField에서 "five"로 추가 된 문자열을 사용합니다. 그러나 뷰가 팝되면 업데이트되지 않습니다.
- (void)popFive:(five *)controller
{
self.friendString=controller.fiveString;
[self update];
[self.tableView reloadData];
}
나는 문제가 seque가에서 수행하는 방법에 관한 것으로 판단 "didSelectRow ..."어떤 도움이나 아이디어를 이해할 수있을 것이다. 감사.
"didSelectRow ..."를 사용하면 segue를 사용할 때 "prepareForSegue"메소드도 추가해야한다고 생각한다. 아래 코드를 추가하면 제대로 작동하는 것으로 보입니다. – user1083689