我有带自定义UItableViewCell的UItableView及其nib文件。

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
{
    let cell = tableView.dequeueReusableCellWithIdentifier(quoteCellIdentifier, forIndexPath: indexPath) as DynamicTableViewCell

    if (cell == nil)
    {
        println("Not Initialized")
    }
    println(cell)
    println(cell.scenarioLabel)

    return cell
}

控制台O/p
<_TtC17Dynamic_Cell_Demo20DynamicTableViewCell: 0xb291a70; baseClass = UITableViewCell; frame = (0 0; 320 44); layer = <CALayer: 0xb291e40>>

For Lable : null

自定义UITableViewCell
class DynamicTableViewCell: UITableViewCell {

@IBOutlet var scenarioLabel: UILabel
@IBOutlet var quoteContentLabel: UILabel

连接

最佳答案

我认为您没有在tableview中注册nib,请在-viewDidLoad
斯威夫特:

tableView.registerNib(UINib(nibName: "DynamicTableViewCell", bundle:nil), forCellReuseIdentifier: quoteCellIdentifier)

在目标C中:
[self.tableView registerNib:[UINib nibWithNibName:@"DynamicTableViewCell"
                         bundle:nil]]
         forCellReuseIdentifier: quoteCellIdentifier];

关于ios - Swift:IBoutlet总是返回nil对象吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24954237/

10-10 21:13