@Ankit 스리 바스타 바는 : 모든 didSelectRowAtIndexPath
에서 테이블 뷰의 동일한 인스턴스를 생성하고 특정 행에 대해 업데이트 된 DataSource를 사용해 거기에서 밀어
수 있습니다. 도움이 더 필요하면 알려주세요. 나는 이것을 전에했다.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([[self.navigationController viewControllers] count] < 3) {
RootViewController *detailViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
detailViewController.rootArray = [self.rootArray objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
}
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
및 numberOfRowsInSection
:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [rootArray count];
}
rootArray
당신이 표시 정보를 포함하는 배열을
는 예를 들어, 테이블 뷰 컨트롤러는 사용자의 didSelectRowAtIndexPath
방법은 다음과 같이한다 RootViewController
이름을 지정하면 현재 테이블보기 컨트롤러에 있으며 위임자 또는 컨트롤러에 대한 액세스 권한이있는 다른 마스터 클래스에서 이전에 만든 마스터 배열에서 만들어집니다.
NSArray *array1 = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
NSArray *array2 = [NSArray arrayWithObjects:@"4", @"5", nil];
NSArray *array3 = [NSArray arrayWithObjects:@"6", @"7", nil];
NSArray *array4 = [NSArray arrayWithObjects:@"8", @"9", nil];
NSArray *array5 = [NSArray arrayWithObjects:@"10", @"11", @"12", nil];
NSArray *array6 = [NSArray arrayWithObjects:@"14", @"15", @"13", nil];
NSArray *array7 = [NSArray arrayWithObjects:@"16", @"17", nil];
NSArray *array8 = [NSArray arrayWithObjects:@"19", @"18", nil];
NSArray *array9 = [NSArray arrayWithObjects:@"20", @"21", @"22", nil];
NSMutableArray *mutable1 = [NSMutableArray arrayWithObjects:array1, array2, array3, nil];
NSMutableArray *mutable2 = [NSMutableArray arrayWithObjects:array4, array5, array6, nil];
NSMutableArray *mutable3 = [NSMutableArray arrayWithObjects:array7, array8, array9, nil];
self.initialArray = [NSMutableArray arrayWithObjects:mutable1, mutable2, mutable3, nil];
그리고 현재 tableViewController에 대한 viewDidLoad
을, 그래서 당신은 첫 번째로드에 대한 배열이 :이처럼 (내 예에 위임에서 만든)
- (void)viewDidLoad
{
[super viewDidLoad];
YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];
if ([[self.navigationController viewControllers] count] == 1) {
self.rootArray = appDelegate.initialArray;
}
}
귀하의 도움이 필요합니다. 데이터 소스를 수정하는 방법은 알고 있지만 UITableView를 푸시 (push)할지 모르겠습니다. 어떻게 연락 할 수 있습니까? – user403015
안녕하세요. Skype에 내 연락처를 추가했습니다. 내 요청을 수락하십시오. 고맙습니다. – user403015