のうちは、私はこの致命的なエラー:インデックス範囲2つのカスタムセル
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if searchActive{
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ShopTableViewCell
let entry1 = auxiliar?[indexPath.row]
cell.shopImage.hnk_setImage(from: URL(string: (entry1?.Logo)!))
cell.shopName.text = entry1?.shopname
cell.backgroundColor = UIColor(white: 1 , alpha : 0.5)
return cell
} else {
if filteredArr == nil {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! ShopTableViewCell
let entry = shops[indexPath.row]
cell.shopImage.hnk_setImage(from: URL(string: entry.Logo))
cell.shopName.text = entry.shopname
cell.backgroundColor = UIColor(white: 1 , alpha : 0.5)
return cell
} else {
let cell2 = tableView.dequeueReusableCell(withIdentifier: "design", for: indexPath) as! DesignTableViewCell
let entry2 = filteredArr[indexPath.row]// error here
cell2.deignImage.hnk_setImage(from: URL(string: "http://jaee.com/upload/img/\(entry2.design)"))
cell2.backgroundColor = UIColor(white: 1 , alpha : 0.5)
return cell2
}
}
}
を持っているが、私はエラーを取得し、その範囲外のインデックス。誰かが私を助けることができる? numberOfRowsInSectionのためだと思います。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if searchActive {
return auxiliar!.count
}
return allShops.count
}
ここでデータを保存する方法は次のとおりです。私は店を選別している。お店のデザインは、design
に、残りはCell
にする必要があります。私が欲しいもの
var info = Shops(shopname: shopName, Logo: logoString, family_id: familiy_id , design : designImage)
self.shops.append(info)
self.filteredArr = self.shops.filter { $0.design != nil }
self.NofilteredArr = self.shops.filter { $0.design == nil }
self.allShops = self.NofilteredArr + self.filteredArr
UPDATE のみトップ上にあるように設計細胞であり、細胞はそれを下回っています。
'if searchActive {return auxiliar!count; }これは、 'cellForRow()'で実装されているのと同じロジックを持つ必要があるため、他の場合はfilteredArr == nil {return allShops.count} else {return filteredArr.count} '(または' cellForRow 'numberOfRowsInSection'のonと同じロジックです)。 – Larme
インデックスの範囲外エラーはどこで発生していますか? searchActiveはtrueまたはfalseですか? – iCyberPaul
更新された質問を確認してください。セルは設計されたものだけです – leo0019