Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 初始化NSViewController时出现问题-未保留UI对象_Objective C_Macos_Cocoa - Fatal编程技术网

Objective c 初始化NSViewController时出现问题-未保留UI对象

Objective c 初始化NSViewController时出现问题-未保留UI对象,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我在理解如何在Mac上使用NSViewController时遇到一些问题。我正在尝试为NSTableView创建自定义表格单元格。在NSTableView的一个委托中,它可以返回视图,而不是单元格 我有一个子类NSViewController,在.xib中所有东西都正确链接,但是当我初始化NSViewController时,它的UI组件没有初始化。。。甚至连它附带的默认视图都没有。我已经尝试过NSViewController的一个干净的、有库存的、未触及的实现,只是为了确保问题不在我正在做的事情

我在理解如何在Mac上使用NSViewController时遇到一些问题。我正在尝试为NSTableView创建自定义表格单元格。在NSTableView的一个委托中,它可以返回视图,而不是单元格

我有一个子类NSViewController,在.xib中所有东西都正确链接,但是当我初始化NSViewController时,它的UI组件没有初始化。。。甚至连它附带的默认视图都没有。我已经尝试过NSViewController的一个干净的、有库存的、未触及的实现,只是为了确保问题不在我正在做的事情上。可能是的。我正在初始化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吗?