0

我正在努力开始使用 Xcode 4.1 中的通用应用程序模板。我遵循 kotancode here提出的基本原则。问题是让相关的视图控制器加载。我将以 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

这似乎不起作用,它可以正常编译并运行,但是没有显示新的视图控制器和相应的 XIB(模板中的原始主窗口 XIB 是)。我确定我错过了一些非常简单的东西,但我花了很长时间谷歌搜索无济于事。感激地收到任何帮助。

谢谢你。

4

1 回答 1

3
  • 您是否已将应用程序委托的 XIB 中的 ViewController 连接到您的 "BaseViewController_iPhone *viewController" ?

  • 您确定应用程序委托的 XIB 中的 ViewController 是 BaseViewController 类型吗?

  • ViewController 是否加载了正确的 XIB(在应用程序的委托的 XIB 中检查)?

检查并提供一些反馈。

于 2011-07-24T18:43:17.800 回答