세부 컨트롤러를 추가하는 것은 그리 어렵지 않습니다. 루트 뷰에서는 위에서 언급 한 plist 파일의 모든 데이터를 수집하고 자신의 기준에 따라 데이터를 정렬합니다. 왜 모든 셀에 대해 NSDictionary를 포함하는 루트 뷰 컨트롤러에 NSArray를 만들지 마십시오. 그 사전에 제목, 가격 또는 그 물건의 다른 것 같은 모든 정보를 넣으십시오. 세부 컨트롤러에서 NSDictionary 속성을 추가하기 만하면됩니다. 셀을 선택하면 didSelectRowAtIndexPath
메서드가 호출됩니다. 이 방법 당신은 인덱스 루트 뷰 컨트롤러의있는 NSArray의 객체로 상세 뷰 컨트롤러에서 NSDictionary에 속성을 설정 indexPath.row
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewController *myDetailController = [[DetailViewController alloc] initWithNibName:@"NibBame" bundle:nil];
myDetailController.detailDict = [rootViewArray objectAtIndex:indexPath.row];
[self.navigationController pushViewController:myDetailController animated:YES];
[myDetailController release];
}
이후 모든 특정 셀에 대한 데이터가 상세보기에서 사용할 수 있습니다
컨트롤러를 사용하고 NSDictionary의 장점을 사용할 수 있으며 간단한 키로 변수를 가져올 수 있습니다. 예 :
- (void)viewDidLoad {
self.title = [myDictionary valueForKey:@"specificKey"];
}
나는 아직도 이것에 대한 몇 가지 문제가있다. 나는 당신의 코멘트에 답장에 코드를 붙여 넣으려고했으나 나는 문자로 넘어 갔다고 생각한다. 그래서 질문에 대한 대답으로 덧붙였다. 감사합니다. – user278342