当我在 Swift 2.0 中设置 UILabel 标题时的 EXC_BAD_INSTRUCTION

Posted

技术标签:

【中文标题】当我在 Swift 2.0 中设置 UILabel 标题时的 EXC_BAD_INSTRUCTION【英文标题】:EXC_BAD_INSTRUCTION when i set UILabel title in Swift 2.0 【发布时间】:2015-09-12 09:36:03 【问题描述】:

我想更改 UILabel 的标题,但收到 EXC_BAD_INSTRUCTION 错误。 我的标签已正确连接到情节提要,但我不明白为什么会出错。 有人可以指出我错在哪里吗?感谢您的帮助。

这是我的代码:

class ViewController: UIViewController 
    @IBOutlet weak var numberLabel: UILabel!
    override func viewDidLoad() 
        super.viewDidLoad()
        self.numberLabel.text = "qwerty" // Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode0x0)
    

【问题讨论】:

它是否与 Interface Builder 相关联? 也许你想说self.numberLabel.text = "qwerty" 对不起,在我的代码中,不是self.label,而是self.numberLabel ^^所以你真的应该复制&粘贴有问题的真实代码,而不是重新编写它。如果您重新编写程序,它可能会正常工作;) 有时 IB 和代码之间的连接可能会中断(例如,当您重命名内容时)。您是否尝试过删除 IB 中的插座引用然后读取它? 【参考方案1】:

问题可能是本地化。检查您是否创建了 2 个故事板(一个用于英语,第二个用于其他语言)。然后检查两者是否具有相同的标签。如果不是,它可能是一个问题。

【讨论】:

【参考方案2】:

好的,我的问题已解决。 奇怪的是,如果我重新安装 Xcode,它就可以了。 感谢您的回答。

【讨论】:

【参考方案3】:

你应该写 self.numberLabel.text = "Your text" 而不是 self.label.text = "Your text" 因为你有名为 numberLabel 而不是 label 的出口。

【讨论】:

以上是关于当我在 Swift 2.0 中设置 UILabel 标题时的 EXC_BAD_INSTRUCTION的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 2.0 中设置 UINavigationController 栏标题

尝试使用 Swift 在 UITableView 中的部分标题的 UIView 中设置 UILabel 的文本

IOS - 当滑块值改变时设置 UILabel Swift

在 UICollectionViewCell 中设置 UILabel

Swift 和 UILabel - 致命错误:在展开可选值时意外发现 nil

如何在 UITableView 中设置 UILabel 的动作