无法加载nib文件,但文件存在

时间:2014-07-07 20:26:07

标签: ios xcode nib nsexception

我想创建一个新的视图控制器,它将是主视图控制器。但是,不知何故,我无法找到如何抛出此异常。尝试重新启动XCode,重新启动计算机,清理项目,从模拟器中删除。没有解决。以下是详细信息:

这是抛出的异常。

Exception

Xcode的Finder View就像这样

Xcode Finder View

应用的实际文件夹

OS X Finder View

加载nib的代码块

#pragma mark - View's life cycle

- (void)viewDidLoad
{
    [super viewDidLoad];

    UINib *nib = [UINib nibWithNibName:@"MainMenuCell.xib" bundle:nil];

    [self.tableView registerNib:nib forCellReuseIdentifier:@"MainMenuCell"];

    self.tableView.delegate = self;
}

声明了nib所有者的父视图控制器

@implementation BNRAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launches

    self.window.rootViewController = [[MainMenuViewController alloc] init];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

Nib的实施文件(MainMenuCell.m)

#import "MainMenuCell.h"

@implementation MainMenuCell

- (void)awakeFromNib
{
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

在IB内宣布的重用标识符

Attributes 1 - MainMenuCell

nib的自定义类

Attributes 2 - MainMenuCell

在Build Phases中复制应用程序的Bundle资源

Build Phases 1

构建阶段中已编译的应用来源

Build Phases 2

有太多的图片我为此道歉,但我已经截取了所有内容,以便检查我的一致性。任何想法都会受到极大的欢迎(在那里失去了5个小时!!!)。

1 个答案:

答案 0 :(得分:0)

您无需在笔尖加载代码中指定文件扩展名。 Cocoa会自动为您处理。

UINib *nib = [UINib nibWithNibName:@"MainMenuCell.xib" bundle:nil];

应该是:

UINib *nib = [UINib nibWithNibName:@"MainMenuCell" bundle:nil];