gpt4 book ai didi

ios - Swift UITableViewCell 子类,IBOutlet UILabel 错误,如果用作普通 var 则没有错误

转载 作者:行者123 更新时间:2023-11-29 01:02:31 24 4
gpt4 key购买 nike

这可能真的很愚蠢,因为我对 Swift 和 iOS 开发还很陌生,但是我有一个 UITableView 并且子类化了 UITableViewCell(称它为 myCell).

myCell 在 Storyboard中有一个 UILabel ,我将它连接到代码,@IBOutlet weak var myLabel: UILabel ! 这样它旁边的小点是灰色的。然后在初始化程序中,override init(style: UITableViewCellStyle, reuseIdentifier: String?),我在访问 myLabel 时收到以下错误 - 无论我是否实例化它(myLabel = UILabel()) 是否优先:

fatal error :在展开可选值时意外发现 nil

但是,如果我将 myLabel 声明为标准 varvar myLabel: UILabel!,并实例化它与上面的初始化程序一样,一切正常。

如果重要的话,我在 UIViewController 中有 UITableView(与 UITableViewController 相对),因此 View Controller 实现了 UITableViewDataSourceUITableViewDelegate,并将 TableView 添加为 subview 。

我的问题是,为什么在通过界面生成器工作时 myLabel 可能是 nil(我已经检查了连接,我已经删除了连接并创建了一个新标签——通过 ctrl+从 Storyboard UILabel 拖动到代码,然后通过从 Storyboard UILabel 代码中的圆圈。)

编辑

通过以下方式调用我的表格单元格:let cell = tableView.dequeueReusableCellWithIdentifier("MyTableViewCell", forIndexPath: indexPath) 作为! MyTableViewCell 给出以下错误:

'无法使具有标识符 MyTableViewCell 的单元格出队 - 必须为该标识符注册一个 nib 或一个类,或者连接 Storyboard中的原型(prototype)单元格'

...我不明白,因为“MyTableViewCell”被设置为 Storyboard中单元格原型(prototype)的 reuseIdentifier。

最佳答案

Storyboard中的 UILabel 连接到具有特定 reuseIdentifier 的特定单元格。您是否试图访问与其所在单元格不同的单元格中的标签?这可能会导致您遇到的错误。

关于ios - Swift UITableViewCell 子类,IBOutlet UILabel 错误,如果用作普通 var 则没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com