【问题标题】:Thread 1: EXC_BAD_ACCESS when calling a Xib of a custom view线程 1:调用自定义视图的 Xib 时的 EXC_BAD_ACCESS
【发布时间】:2020-08-10 08:30:41
【问题描述】:

我正在尝试制作可在情节提要中使用的自定义视图。事情是当视图被实例化时它崩溃了。我不明白错误或我可以指出错误的地方。这是我的问题的几个图像。

如果有人可以请帮助我。那将不胜感激。如果您需要更多详细信息,请告诉我在哪里可以找到您需要的详细信息,我可以为您获取。

【问题讨论】:

  • 原因很清楚:出口viewnil。你确定你想要一个具有相同类型插座的 UIView 的子类吗?

标签: ios swift xcode swift5


【解决方案1】:

还有另一种以编程方式初始化自定义视图的好方法。您需要进行以下操作:

1.为您的 UIView 类编写扩展

 extension UIView {
     class func initFromNib<T: UIView>() -> T {
     return Bundle.main.loadNibNamed(String(describing: self), owner: nil, options: nil)?[0] as! T
     }
 }

2。创建与您的类名称同名的 .swift 和 .xib 文件:

3.在您的 FMTextInputView.swift 文件中,您应该初始化您的 nib:

    private var param1: String!
    private var param2: String!

    //MARK: - init
    static func instantiate(param1: String, param2: String) -> FMTextInputView {
        let view: FMTextInputView = initFromNib()
        view.param1 = param1
        view.param2 = param2
        return view
    }

4.现在,您可以随时随地轻松使用自定义视图:

   let inputView = FMTextInputView.instantiate(param1: "Hello", param2: "world")
   self.view.addSubview(inputView)

【讨论】:

    猜你喜欢
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    相关资源
    最近更新 更多