gpt4 book ai didi

iphone - 在 XCode 中创建了一个新的空项目并添加了一个 View Controller ,但它无法编译

转载 作者:行者123 更新时间:2023-11-29 03:38:46 26 4
gpt4 key购买 nike

就像标题所说,我在 xcode 中创建了一个新的空项目,它只给了我 AppDelegate header 和编译文件。然后我向其中添加了一个 View Controller ,然后将主界面更改为 View Controller xib 文件的名称。我继续运行该项目,没有添加任何其他内容。我以前曾经这样做过并且它已经运行,但这次没有。

错误信息是

'NSUnknownKeyException',原因:'setValue:forUndefinedKey:]:此类与键 View 的键值编码不兼容。'

除了上面解释的内容之外,我没有编写任何代码或更改任何内容。 AppDelegate 中的唯一代码如下:

.h

#import <UIKit/UIKit.h>
#import "PopOverViewController.h"
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

.m

#import "AppDelegate.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
return YES;
}
@end

ViewController.h

#import <UIKit/UIKit.h>
@interface PopOverViewController : UIViewController
@end

ViewController.m

#import "PopOverViewController.h"

@interface PopOverViewController ()

@end

@implementation PopOverViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}

我已经搜索过这个网站,但没有找到类似的内容。每篇文章都是关于检查 IBOutlets 和 IBActions 以及连接,但我没有做任何事情。我所做的只是像 FileOwner 的 View 一样,仅此而已。

抱歉,如果这是转发/重复。如果您发现有用的页面,请告诉我。

编辑:另请注意,我确实尝试添加 rootViewController(如 Rob 所示),但我仍然收到相同的错误消息。

最佳答案

使用 NIB 时,您的应用程序委托(delegate)通常如下所示:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[PopOverViewController alloc] initWithNibName:@"PopOverViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}

如果您使用“单一 View ”应用程序模板而不是“空应用程序”模板创建应用程序,您将拥有一个包含适当代码的应用程序委托(delegate)。

您通常不必为 XIB 提供“主接口(interface)”字段,除非您的窗口也有一个 XIB(不要与 View Controller 的 View 的 XIB 混淆)。但基于 XIB 的应用程序通常使用上面的 didFinishLaunchingWithOptions ,这样就不需要“主界面”为窗口指定 XIB。

关于iphone - 在 XCode 中创建了一个新的空项目并添加了一个 View Controller ,但它无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com