Swift中UIViewController的初始化

4

我正在尝试初始化一个具有相应.xib文件的UIViewController子类。

我通过以下方式实现:

LandingVC()

然而,这样并没有使用xib文件进行初始化。我需要手动执行以下操作:
LandingVC(nibName: "LandingVC", bundle: nil)

我感到困惑的是,在Objective-C中,我可以这样做:

[[LandingVC alloc] init]

它会自动推断xib名称(如果存在)。为什么Swift中无法使用这个?

谢谢


在Objective-C中,有一个方法 - [[LandingVC alloc] initWithNibName:@"LandingVC " bundle:nil]; 具有相同的作用。 - Mrunal
你是否有一个名为 模块名.类名.xib 的 xib 文件? - rshev
@Mrunal,你不理解我的问题...在Objective-C中,我不需要做initWithNibName,只需要init,它会自动推断nib名称。但在Swift中,它不会这样做。 - 0xSina
@rshev,我只是在我的捆绑包中添加了一个名为class_name.xib(LandingVC.nib)的xib文件。 - 0xSina
@0xSina:好的,现在明白你的问题了。 - Mrunal
1个回答

3

若要在Swift中实例化自动加载.xib的视图控制器,请将您的xib文件命名为模块名称类名称xib

这在Apple文档中有提到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接