从XIB快速加载视图

时间:2016-05-30 09:46:49

标签: xcode swift view xib

我一直在关注本教程,只需按一下视图控制器中的按钮即可加载xib: http://www.thomashanning.com/loading-a-view-from-a-xib/

在这一行:

if let customView = NSBundle.mainBundle().loadNibNamed("CustomView", owner: self, options: nil).first as? CustomView {

我收到以下错误: 使用未声明的类型'CustomView'

我已经多次按照教程的每一步,我不知道我错过了什么。任何人都可以帮助了解可能出现的问题吗?

3 个答案:

答案 0 :(得分:2)

错误表明您错过了宣布课程的步骤

  

使用未声明类型'CustomView'

可能错过的一件事情是:

  1. 您没有创建CustomView.swift文件,教程跳过了这一部分。该文件应该包含以下内容:

    import UIKit
    
    class CustomView: UIView {
      @IBAction func ButtonDidPressed(sender: AnyObject) {
        print("Button Pressed")
      }
    }
    

    相应的错误(在编辑器中):

      

    使用未声明类型'CustomView'

  2. 在Storyboard Identity Inspector中,您没有正确设置类名。

    相应的错误(在运行时间内):

      

    Interface Builder文件中的未知类CustomView。

  3. 您的班级声明与通话不同,但我认为您应该能够在Xcode编辑器中识别出这种情况。

    相应的错误(在编辑器中):

      

    使用未声明类型'CustomView'

答案 1 :(得分:0)

您可以使用这种方式为UIView类和View / .Xib提供相同的名称

You can use this way give same name for UIView class and View/.Xib also

let alert = NSBundle.mainBundle().loadNibNamed("PromotionMenu", owner: nil, options: nil)[0] as? PromotionMenu
        alert?.delegate = self
        self.view.addSubview(alert!)

答案 2 :(得分:0)

谢谢大家的详细解答,遗憾的是他们都没有帮助。

在发生的事情中没有任何逻辑,因为我无法创建任何类型的任何新类并且无错误地调用它们。

所以经过几个小时的挫折我创建了一个新项目,将所有旧文件拖入其中(除了plist),运行后我能够创建新类并创建它们的实例而没有错误。