tôi kêu gọi một chức năng lớp từ lớp ViewController
của tôi như thế này:Truy cập IBOutlet từ một lớp khác
Buttons.set_cornerRadius(10)
Tôi có một .swift
tập tin mà tôi có chức năng tuyên bố:
class Buttons {
class func set_cornerRadius(radius: CGFloat) {
ViewController().someButton.layer.cornerRadius = radius
}
}
Khi tôi m cố gắng chạy nó nó ném lỗi: "Unexpectedly found nil while unwrapping an optional Value"
.
Tôi đã kiểm tra các kết nối Storyboard-IBOutlet rồi. Mọi thứ đều được kết nối đúng.
Nếu tôi gọi phương thức trong cùng một lớp như thế này, mọi thứ hoạt động:
class ViewController: UIViewController {
@IBOutlet weak var someButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
set_cornerRadius(10)
}
func set_cornerRadius(radius: CGFloat) {
someButton.layer.cornerRadius = radius
}
}
Làm thế nào tôi có thể sửa lỗi này? Tôi đang làm gì sai/không hiểu đúng?
Xin cảm ơn trước.
Bạn cần phải truy cập một phiên bản thực của 'ViewController' và không phải là một số cách diễn giải chung – Ian
Bạn có thể cho tôi một số ví dụ về Code về cách thực hiện điều này không? – smnk
Tại sao không chỉ đặt bán kính góc trong ViewController của bạn? – Ian