Objective c 初始化NSViewController时出现问题-未保留UI对象
我在理解如何在Mac上使用NSViewController时遇到一些问题。我正在尝试为NSTableView创建自定义表格单元格。在NSTableView的一个委托中,它可以返回视图,而不是单元格 我有一个子类NSViewController,在.xib中所有东西都正确链接,但是当我初始化NSViewController时,它的UI组件没有初始化。。。甚至连它附带的默认视图都没有。我已经尝试过NSViewController的一个干净的、有库存的、未触及的实现,只是为了确保问题不在我正在做的事情上。可能是的。我正在初始化NSViewController,如下所示:Objective c 初始化NSViewController时出现问题-未保留UI对象,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我在理解如何在Mac上使用NSViewController时遇到一些问题。我正在尝试为NSTableView创建自定义表格单元格。在NSTableView的一个委托中,它可以返回视图,而不是单元格 我有一个子类NSViewController,在.xib中所有东西都正确链接,但是当我初始化NSViewController时,它的UI组件没有初始化。。。甚至连它附带的默认视图都没有。我已经尝试过NSViewController的一个干净的、有库存的、未触及的实现,只是为了确保问题不在我正在做的事情
testview *tmpChannel = [[testview alloc] initWithNibName:@"testview" bundle:nil];
.xib确实存在,并且所有插座都正确连接。有人能解释一下这里发生了什么吗?我在Lion操作系统中使用xCode 4.1
谢谢。请使用
NSLog(@"%@", [tmpChannel description]);
从你的代码中,我假设你在这里得到了一个对象地址。这意味着错误可能在应该显示它的代码中
顺便说一句,我建议使用大写的类名,例如TestView
编辑:
加载xib的附加信息:xib文件的名称必须与类名完全相同。在这种情况下,实际上可以完全省略initWithNibName:bundle:
部分:
// xib file is "ViewController.xib"
// Class is defined as "ViewController"
ViewController *newController = [[ViewController alloc] init]; // this is enough
IB(xib)对象仅在视图实际加载后初始化。而不是在initWithNibName:bundle:Hi中,我收到的输出是对象的类和内存地址()。至于讨厌的类名,我在创建类的时候有点匆忙……请检查“未初始化”的“UI组件”。哪些部件?如何检查?好的,我已使用以下代码使其运行:
if(![NSBundle loadNibNamed:@“ChannelViewController”所有者:tmpcchannel]){NSLog(@“Warning!”无法加载myNib文件。\n”);}
有人能解释为什么最初链接和加载xib吗?编辑:有人能解释为什么最初没有链接和加载xib吗?好的,我已使用以下代码使其运行:如果(![NSBundle loadnibName:@“ChannelViewController”owner:tmpcchannel]){NSLog(@“警告!无法加载myNib文件。\n”)}
有人能解释为什么最初链接和加载xib吗?编辑:有人能解释为什么最初没有链接和加载xib吗?