在objc类中使用nib名称初始化swift视图控制器

时间:2014-07-28 10:05:35

标签: ios objective-c swift

在我的应用程序中,我有一个用Swift编写的视图控制器。我将它导入了app delegate,它是用目标c编写的。我尝试像这样创建一个快速视图控制器的对象

ListAllSongsViewController *songListVC = [[ListAllSongsViewController alloc]initWithNibName:@"ListAllSongsViewController" bundle:nil];

ListAllSongsViewController是用swift编写的。该项目编译没有任何问题,但在执行上述行时,应用程序崩溃&在ListAllSongsViewController

的init方法停止

The crash

日志中没有任何内容,只是停止了。僵尸&启用所有异常断点。

P.S。它只在设备(iOS 7.1)中崩溃,但在模拟器中工作正常

  

更新   即使我使用默认的swift初始化程序

,也会遇到同样的问题
ListAllSongsViewController(nibName: "ListAllSongsViewController", bundle: nil)

2 个答案:

答案 0 :(得分:1)

通常在您传递错误的nibName时发生。考虑到它只在设备中崩溃,我认为你在字符串ListAllSongs的情况下犯了一个错误,因为Mac / Simulator的文件系统不区分大小写而设备不是。< / p>

答案 1 :(得分:-1)

如果我错了,请纠正我,但如果您的应用程序的一部分是用Swift编写的,那可能是因为它在iOS 7.1设备中崩溃的原因它不会起作用您的设备,直到升级到iOS 8。