swift 错误 exc_bad_access 使用 iboutlet 加载图像

swift error exc_bad_access loading image using iboutlet

我是 iOS 编程新手。我尝试了以下。我为一个按钮创建了一个自定义 class(来源是在互联网上创建的),例如。

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 时,出现上述错误

class SettingsTableViewController: UITableViewController {

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

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

您是否已将插座与界面生成器上的 UIButton 正确链接?请务必在自定义视图中也设置自定义 class 名称,如下所示:

此外,如果您使用 IBOutlet 系统设置视图,如果视图始终存在,我建议您像这样定义它们:

@IBOutlet weak var testButton: CustomButton!
@IBOutlet weak var excelButton: CustomButton!