XCode 4.5 と ARC を使用して iPad バージョンのマスター ディテール アプリケーションを作成しています。iPadMaster.h/.m (マスターとして) と iPadDetailViewController.h/m (詳細として) をセットアップしました。
ユーザーがiPadMasterで行をクリック/選択すると、iPadDetailViewControllerからさまざまなView Controllerをロードしようとしています。
これを iPadMaster.m の次の場所に設定しました。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
iPadDetailViewController * DVC = [[iPadDetailViewController alloc]initWithNibName:nil bundle:nil];
DVC.itemNumber = indexPath.row;
}
iPadDetailViewController.m on でこの愚かなスタントを試しました[viewDidLoad]
:
switch(_itemNumber)
{
case 0:
{
//Detail row
vc1 *viewController = [[vc1 alloc] init];
[self presentViewController:viewController animated:YES completion:nil];
break;
}
case 1:
{
//Report row
vc2 *viewController = [[vc2 alloc] init];
//viewController.somePassedInData = theDataToPass;
[self presentViewController:viewController animated:YES completion:nil];
break;
}
case 2:
{
//Report row
vc3 *viewController = [[vc3 alloc] init];
//viewController.somePassedInData = theDataToPass;
[self presentViewController:viewController animated:YES completion:nil];
break;
}
...
case 9:
{
//Report row
vc9 *viewController = [[vc9 alloc] init];
//viewController.somePassedInData = theDataToPass;
[self presentViewController:viewController animated:YES completion:nil];
break;
}
default:
{
break;
}
iPhoneでは「スイッチケース」を貼り付けるだけ- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
ですが、iPad環境では迷っています...
事前にサンクス...