UITableView
にデータがあるアプリで作業しています。これは、ドリルダウンアプリケーションのようなものです。ユーザーは行をクリックして、UITableView
のレコードをさらに表示する次のページに移動します。しかし、私の場合の問題は、何人のレベルのユーザーがドリルできるかがわからないことです。レベルの数は固定されていません。したがって、私はビューコントローラーをプログラムで作成して追加することを考えています。出来ますか??はいの場合はどうですか?前もって感謝します。
UIViewController *controller = [[UIViewController alloc] init];
controller.view = whateverViewYouHave;
コーディングした独自のビューコントローラーはありますか?その場合、おそらくIBで設定されているので、viewプロパティを設定する必要はありません。コントローラーがある場合は、それをnavigationControllerにプッシュしたり、モーダルに表示したりできます。
UIViewController
sは常にプログラムで作成されます。 View Controllerの各レベルに同じクラスが必要なだけのようです、例えば:
//CoolViewController:UITableViewController
//CoolViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (!self.isAtTopLevel) {
CoolViewController *cvc = [[CoolViewController alloc] initWithRecord:[self.records objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:cvc animated:YES];
[cvc release];
} else {
//do something else
}
}
この場合、thingies
はある種の再帰的なNSArray(配列の配列)になります。