0

Xcode4.1のユニバーサルアプリテンプレートを使い始めるのに苦労しています。私はここでkotancodeによって設定された基本原則に従っています。問題は、関連するViewControllerをロードすることです。例としてiPhoneの部分に焦点を当てます。XIBを使用せずにUIViewControllerのサブクラスを「マスター」ビューコントローラークラス(共有コードが配置される場所)として作成します。次に、これをサブクラス化して、BaseViewController_iPhoneというiPhone固有のUIViewControllerクラスを作成します。今回は、XIBを使用します。

iPhone固有のアプリデリゲートヘッダーは次のように設定されます。

#import "TestAppDelegate.h"
#import "BaseViewController_iPhone.h"

@interface TestAppDelegate_iPhone : TestAppDelegate {
    BaseViewController_iPhone *viewController;
}
@property (nonatomic, retain) IBOutlet BaseViewController_iPhone *viewController;

@end

実装では、applicationdidfinishlaunchingwithoptionsメソッドをオーバーライドしようとします。

#import "TestAppDelegate_iPhone.h"

@implementation TestAppDelegate_iPhone

@synthesize viewController;

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];
    return YES;
}

-(void)dealloc {
    [viewController release];
    [super dealloc];
}

@end

これは機能していないようで、正常にコンパイルされて実行されますが、新しいView Controllerと対応するXIBは表示されません(テンプレートの元のメインウィンドウxibは表示されます)。私は非常に単純なものを見逃していると確信していますが、私は長い間グーグルで無駄に過ごしてきました。ありがたいことにどんな助けも受けました。

ありがとうございました。

4

1 に答える 1

3
  • アプリのデリゲートのXIBのViewControllerを「BaseViewController_iPhone*viewController」に接続しましたか?

  • アプリのデリゲートのXIBのViewControllerのタイプがBaseViewControllerであると確信していますか?

  • ViewControllerは正しいXIBをロードしていますか(アプリのデリゲートのxibで確認してください)?

それを確認し、フィードバックをお寄せください。

于 2011-07-24T18:43:17.800 に答える