私は、文字列の私の配列を初期化する場所です:私の質問は、私がshopItem[index.row]
とどのように印刷しようとすると、なぜ私のアプリのクラッシュがない、あるindexPath.row swift 3を印刷できないのはなぜですか?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier, for: indexPath) as UITableViewCell
let when = DispatchTime.now() + 5
DispatchQueue.main.asyncAfter(deadline: when) {
print(self.shopItems[indexPath.row])
cell.textLabel?.text = self.shopItems[0]
}
return cell
}
:
let databaseRef = FIRDatabase.database().reference().child("Butikker")
self.shopItems = [String]()
databaseRef.observe(FIRDataEventType.value, with: { (snapshot) in
for child in snapshot.children {
let snap = child as! FIRDataSnapshot
let dictionary = snap.value as! [String: AnyObject]
self.shopItems.append(dictionary["Name"] as! String)
}
})
これは私のテーブルビューです私はこれを解決するだろうか?
あなたは 'shopItems'自体を印刷して、あなたが探している要素があるかどうか確認しましたか?常に最初のステップは、配列を印刷して、その質問にも共有することです。 – adev
String配列shopItemsには2つの文字列値が含まれています。私はcell.textLabel?.text = self.shopItems([0]または[1]) – user8414724
のように、私のテーブルビューにロードすることができるので、クラッシュする前に 'indexPath.row'の値は何ですか。なぜそれがクラッシュしている。 – adev