Không thể kết nối thuộc tính đại biểu của CustomView
được khai báo là @IBOutlet tới ViewController
trong Trình tạo giao diện - không thể thiết lập kết nối.Trình tạo giao diện, @IBOutlet và các giao thức cho đại biểu và dữ liệuSource trong Swift
Dưới đây là đoạn code
class CustomView: UIView {
@IBOutlet var delegate: CustomViewDelegate?
}
@objc protocol CustomViewDelegate {
...
}
class ViewController: UIViewController, CustomViewDelegate {
...
}
@objc
được sử dụng vì swift protocol, IBOutlet property cannot have non-object type, không biết tại sao protocol CustomViewDelegate: class {}
không hoạt động.
Bất kỳ ai khác đều gặp phải điều gì đó như thế?
Liệu 'của bạn UIViewController' trong Interface Builder có các lớp học đặc biệt thiết lập cho 'ViewController'? Ngoài ra, nó thường là một yêu cầu (cuối cùng tôi đã kiểm tra) rằng các thuộc tính '@ IBOutlet' được định nghĩa là các loại chưa được loại bỏ hoàn toàn, như sau:' CustomViewDelegate! '. Điều này cho phép họ được 'nil' tại instantiation, trong khi cho phép bạn sử dụng chúng mà không có ràng buộc tùy chọn sau khi họ đã được kết nối. –