【问题标题】:Adding View controllers as subview in Swift在 Swift 中添加视图控制器作为子视图
【发布时间】:2014-06-17 07:10:46
【问题描述】:

我正在尝试使用 swift 构建一个简单的计算器应用程序。我创建了两个具有基本和高级选项的视图控制器。早期的 Obj-C 曾经这样做过

[[AViewController alloc] initWithNibName:@"nibName" bundle:nil]

在 swift 中,我什至无法导入我的新视图控制器。但我仍然可以声明为var aViewController:AViewController? 并使用它。但我卡在加载笔尖

我尝试使用AViewController(nibName: "nibname", bundle: nil),但一切都导致编译器错误Could not find an overload for __conversion that accepts the supplied arguments

【问题讨论】:

    标签: macos cocoa swift xcode6


    【解决方案1】:

    试试这个,

    AViewController(nibName: "nibname", bundle: NSBundle.mainBundle())
    

    这非常适合我。

    声明:SWIFTUINib类参考)

    init(nibName name: String!,
          bundle bundleOrNil: NSBundle!) -> UINib
    

    声明:SWIFTUIViewController类参考)

    init(nibName nibName: String!,
          bundle nibBundle: NSBundle!)
    

    感叹号有效地表示,“我知道这个可选的肯定有一个值;请使用它。”这称为强制解包可选值

    这就是原因,我们不能将“nil”作为第二个参数传递,即 bundle

    干杯..!

    【讨论】:

      【解决方案2】:

      看起来nil 是造成问题的那个,当我用NSBundle.mainBundle() 替换它时它起作用了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多