smn*_*mnk 5 null class iboutlet ios swift
我正在从我的ViewController类中调用类函数,如下所示:
Buttons.set_cornerRadius(10)
Run Code Online (Sandbox Code Playgroud)
我有另一个.swift文件,我声明了这个函数:
class Buttons {
class func set_cornerRadius(radius: CGFloat) {
ViewController().someButton.layer.cornerRadius = radius
}
}
Run Code Online (Sandbox Code Playgroud)
当我试图运行它时会抛出错误:"Unexpectedly found nil while unwrapping an optional Value".
我已经检查了Storyboard-IBOutlet连接.一切都是正确的.
如果我像这样在同一个类中调用该方法,一切正常:
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
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我做错了什么/不理解对吗?
提前致谢.
您访问通用的ViewController,但需要使用现有的UIView。做这样的事情:
class Test: UIViewController {
class func set_cornerRadius(yourView: UIView, radius: CGFloat) {
yourView.layer.cornerRadius = radius
}
}
Run Code Online (Sandbox Code Playgroud)
这样,您就可以传递UIView要设置的角半径。
| 归档时间: |
|
| 查看次数: |
2676 次 |
| 最近记录: |