swift错误exc_bad_access使用iboutlet加载图像

问题描述 投票:1回答:1

我是iOS编程的新手。我尝试了以下内容。我创建了一个按钮的自定义类(基于互联网的源)。

class CustomButton : UIButton {

var myAlternateButton:Array<CustomButton>?
var downStateImage:String? = "radiobutton_down"{

    didSet{

        if downStateImage != nil {

            self.setImage(UIImage(named: downStateImage!), forState: UIControlState.Selected)
        }
    }
}

现在,当我尝试在TableViewController中使用该类时,我得到上面提到的错误

class SettingsTableViewController: UITableViewController {

@IBOutlet var testButton: CustomButton?
@IBOutlet var excelButton: CustomButton?
override func viewDidLoad() {
    super.viewDidLoad()
    testButton?.downStateImage = "radiobutton_down" -->xc_bad_access

为什么我不能设置属性。我是否必须单独初始化类或我的错误在哪里?也许任何人都可以帮助我!谢谢,阿诺德

xcode swift exc-bad-access
1个回答
3
投票

您是否已在界面构建器上正确地将插座与UIButton相关联?请务必在自定义视图中设置自定义类名,如下所示:

此外,如果您使用IBOutlet系统设置视图,我建议如果视图始终存在,则将其定义为:

@IBOutlet weak var testButton: CustomButton!
@IBOutlet weak var excelButton: CustomButton!
© www.soinside.com 2019 - 2024. All rights reserved.