我有以下课程:
导入UIKit
class RegistrationViewController: SuperViewController {
@IBOutlet weak var errorMessageLabel: ErrorMessageLabel!
@IBOutlet weak var registerButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
checkValidData()
}
private func checkValidData()
{
errorMessageLabel.setErrorText(registerButton, message: "")
...
}
我在View Controller中使用:
Thread 1: EXC_BAD_ACCESS (code=2, address=...)
我在setErrorText调用
上得到import UIKit
extension UILabel {
open func setErrorText(button:UIButton?, message:String) {
self.text = message
self.isHidden = (message == "")
if (button != nil) {button?.isEnabled = (message == "")}
}
}
class ErrorMessageLabel: UILabel {
}
如果我将ErrorMessageLabel.swift更改为以下
$(".reasons_items").click(function () {
$(this).toggleClass("reasons_items_click");
var clicked_text = $(this).find("p").text();
// clicked_text variable will have the value of clicked <li>
});
代码有效。显然,这是放置setErrorText的错误位置,因为代码不适用于所有UILabel。什么是正确的解决方案?
我是IOS开发的相对新手。
答案 0 :(得分:4)
您需要将视图中的标签类(storyboard或nib)更改为ErrorMessageLabel 你可以在这里找到它: http://prntscr.com/flkor0