首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@IBDesignable - @IBOulet nil

@IBDesignable - @IBOulet nil
EN

Stack Overflow用户
提问于 2018-06-25 02:02:00
回答 1查看 88关注 0票数 2

我不明白为什么在尝试实现@IBDesignable时,outlet是空的。这个应用程序总是崩溃。

代码语言:javascript
复制
import UIKit
import RxSwift
import RxCocoa

@IBDesignable
class SwitchOrderCell: UITableViewCell {

    @IBOutlet weak var orderSwitchLabel: UILabel!
    @IBOutlet weak var orderSwitch: OrderSwitch!
    var enabled: BehaviorRelay<Bool> = BehaviorRelay<Bool>(value: true)

    override func awakeFromNib() {
        super.awakeFromNib()
        orderSwitch.addTarget(self, action: #selector(update(_:)), for: .valueChanged)

    }

    func configure(with order: OrderBy) {
        self.orderSwitch.isOn = order == .new ? true : false
        orderSwitchLabel.text = self.orderSwitch.isOn ? "newest" : "oldest"


    }

    @objc func update(_ sender: UISwitch) {
        self.orderSwitch.isOn =  !self.orderSwitch.isOn
        orderSwitchLabel.text = self.orderSwitch.isOn ? "newest" : "oldest"
        enabled.accept(self.orderSwitch.isOn)
    }

    @IBInspectable var switchTintColor: UIColor = .gray {
        didSet {
            orderSwitch.backgroundColor = switchTintColor
        }
    }

    override func prepareForInterfaceBuilder() {
        super.prepareForInterfaceBuilder()

    }


    func handleSwitch(enabled:(Bool)->()) {
        enabled(self.orderSwitch.isOn)
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        // Configure the view for the selected state
    }

}

EN

回答 1

Stack Overflow用户

发布于 2018-06-25 07:35:01

主要有两种可能性:

你没有把插座连接到你的故事板或xib上,,

  • ,你不是从故事板或xib加载细胞。通过调用SwitchOrderCell().

来创建

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51012594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档