Objective-C 및 iOS 응용 프로그램 개발에 상당히 익숙해 져서 제 질문에 대한 대답이 간단하면 사과드립니다. 하나의보기 컨트롤러에서 다른보기 컨트롤러로 GTGift 개체의 포인터를 보내려고합니다. I는 다음 코드를 입력 할 때, 객체는 전송 및 제 뷰 컨트롤러의 인스턴스 변수에 저장된다 :tableView : didSelectRowAtIndexPath : inconsistency
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
gift = [[[GTGiftStore sharedStore] allGifts] objectAtIndex:[indexPath row]];
GTDetailViewController *dvc = [[self storyboard] instantiateViewControllerWithIdentifier:@"detailVC"];
[[self navigationController] pushViewController:dvc animated:YES];
}
그러나
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
GTGift *selectedGift = [[[GTGiftStore sharedStore] allGifts] objectAtIndex:[indexPath row]];
GTDetailViewController *dvc = [[self storyboard] instantiateViewControllerWithIdentifier:@"detailVC"];
[dvc setDetailGift:selectedGift];
[[self navigationController] pushViewController:dvc animated:YES];
}
, I는 상기 제 뷰 컨트롤러에 코드를 입력 할 때 두 번째보기 컨트롤러의이 코드는 다음과 같습니다.
- (void)viewWillAppear:(BOOL)animated {
GTGiftsViewController *gvc = [[self storyboard] instantiateViewControllerWithIdentifier:@"giftsVC"];
detailGift = [gvc gift];
NSLog(@"%@", detailGift);
}
detailGift가 null을 반환합니다.
필자는 필자의 삶에 대해 이해할 수 없으며, 작동하지 않는 코드 세그먼트와 유사한 접근법을 사용할 수 있다면 내 응용 프로그램에 훨씬 더 실용적입니다. 누구나 나를 위해이 주제에 대해 빛을 비출 수 있거나 다른 방향으로 나를 가리켜 동일한 일을 마치면 정말 고맙겠습니다!
이 좋아 내가 보는 것이주지! 고맙습니다! 하지만 난 그걸 어떻게 사용할 지 잘 모르겠다 ... 나는 UITableView가 있고 테이블 뷰의 어떤 객체가 눌려 졌는지를 결정할 수 있어야하고 indexPath를 얻지 않고 어떻게 할 수 있는지 모른다. from tableView : didSelectRowAtIndexPath : –
segue가 테이블 뷰 셀에서 오는 것으로 정의 된 경우 해당 셀은'prepareForSegue : sender :'의'sender '여야합니다. 테이블 뷰에 셀의 인덱스 경로를 요청할 수 있습니다. –
고마워요! 나는 그것을 시도하고 그것이 어떻게되는지 보게 될 것이다! –