为 CustomUiView 设置委托获取 EXC_BAD_ACCESS

Sas*_*dey 0 delegates uiview ios swift

我创建了一个自定义 UIView 并为其设置了一个协议。现在,当我将委托设置为 self 时,从视图控制器中我得到一个 EXC_BAD_ACCESS。

---视图控制器代码------

class VerificationController: UIViewController, LoadingViewDelegate {
   @IBOutlet weak var instructionView: LoadingView!

   override func viewDidLoad() {
       super.viewDidLoad()           
       instructionView.randomTextIndexes = [1]
       instructionView.delegate = self 
   }

   ...
}

// "instructionView" is the UIView outlet and "LoadingView" is the class
Run Code Online (Sandbox Code Playgroud)

--这是自定义查看代码 ------

protocol LoadingViewDelegate {
    func generated(random code:String)
}

class LoadingView: UIView {  
    var delegate:LoadingViewDelegate?
    var randomTextIndexes:[Int] = []
}
Run Code Online (Sandbox Code Playgroud)

EXC_BAD_ACCESS当我尝试访问委托以及randomTextIndexes来自viewDidLoad()视图控制器的方法时,我得到了。你能告诉我我在这里缺少什么吗?

Ren*_*oni 5

我最好的猜测是您忘记在 Interface Builder 中设置自定义视图的类。在 IB 中检查您的对象的身份检查器,它应该如下所示:

它应该看起来如何

如果它没有设置,那就是问题所在。