【问题标题】:Swift tableview numberOfRowsInSection return nil fatal error Optional valueSwift tableview numberOfRowsInSection 返回 nil 致命错误 可选值
【发布时间】:2016-06-06 16:23:06
【问题描述】:

您好,当表 numberOFRowsInSection 0 出现致命错误时,我有 tableview 并正在加载项目:在展开可选值时意外发现 nil

我的代码在这里

var itemsList = [String]()


internal func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
      self.itemsmessage.text = "Listed your last \(itemsList.count) items"

    return itemsList.count
}

给出错误

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

当 return nil 在 self.itemsmessage.text 行中给出此错误时。谢谢。

【问题讨论】:

  • 我认为在调用 nubmerOfRowsInSection 时没有分配 itemList 数组。
  • @AshishP。那么我需要更改哪些代码?
  • itemsList 真的是可选的吗?如果是这样,您何时在应用程序流程中创建它?
  • 在viewDidLoad中初始化itemList数组...
  • 除了问题之外,您不应该在numberOfRowsInSection 中放置除要返回的值之外的其他代码,因为即使值没有改变,该方法也可能会被频繁调用。

标签: ios swift uitableview


【解决方案1】:

您的 self.itemsmessage 可能未连接到视图控制器中的实际控件。检查其是否已连接。要放置安全代码,试试这个。

if let message = self.itemsmessage { message.text = "Listed your last \(itemsList.count) items" } else { print("Seems like your itemsmessage is not connected to a text label") }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    相关资源
    最近更新 更多