Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 如何声明Nib文件?_Iphone - Fatal编程技术网

Iphone 如何声明Nib文件?

Iphone 如何声明Nib文件?,iphone,Iphone,如何使用initwithnib语法声明nib文件,它会显示“警告:传递initwithNibName:bundle的参数1:来自不兼容的指针类型” 我的声明是: SpanishViewController *spanishview = [[SpanishViewController alloc] initWithNibName:"LocalizeMeViewController.xib (es)" bundle:[NSBundle mainBundle]];

如何使用initwithnib语法声明nib文件,它会显示
“警告:传递initwithNibName:bundle的参数1:来自不兼容的指针类型”

我的声明是:

SpanishViewController *spanishview = [[SpanishViewController alloc] 
    initWithNibName:"LocalizeMeViewController.xib (es)" 
             bundle:[NSBundle mainBundle]];

提前感谢……。

您可能没有填写您的xib的确切名称。我不建议在Nib名称上加括号。正如Adam所说,你需要在它前面加一个“@”,因为它仍然是一个NSString,它作为一个参数得到。因此名称应该是一个NSString@“myNibName”

除非您真正了解如何使用自定义NIB文件名,否则您应该像这样加载NIB:

self.myViewController = [[[MyViewController alloc] initWithNibName:nil bundle:nil] autorelease];
或:

苹果可能会在未来添加一些新功能,这取决于“我不在乎,请自动选择笔尖”功能

PS:“不兼容指针类型”表示您试图向其传递错误“类型”的变量。你可能写过:

[... initWithNibName:"name" bundle:nil]
。。。i、 e.忘记了“@”符号。这将它转换为与预期不同的类型/指针类型(一种特殊的字符串指针)


编辑:现在你已经添加了你的实际代码,我怀疑你做本地化的方式是错误的。查看Apple文档,但在我看来,您提供了相同NIB的多个副本,名称相同,但存储在不同的子目录中,每种语言一个。

只需执行以下操作:

SpanishViewController *spanishview = [[SpanishViewController alloc] 
initWithNibName:@"LocalizeMeViewController" 
         bundle:nil];

其字符串类型@“yourNibName”使用兼容的指针类型。在不显示代码的情况下,我只能告诉您这一点。使用initWithNibName:@“LocalizeMeViewController”bundle:nil如果这会触发警告,那就太好了。但不幸的是,它不是。不,“不兼容指针类型”意味着他可能写了:initWithNibName:“name”bundle:nil。。。i、 他忘记了“@”符号。这将把它转换为与预期的类型(字符串指针)不同的类型(“指针类型”)。不,这永远不会起作用。在Xcode中尝试-您传递的类型不正确(obj-C中的字符串需要手动生成,通过适当的指针引用传递…除非您使用特殊的神奇@语法:)
SpanishViewController *spanishview = [[SpanishViewController alloc] 
initWithNibName:@"LocalizeMeViewController" 
         bundle:nil];