下面的代码列出了uitableview单元格中的两件事(a和b)。我希望在写有“a”的单元格上只显示一次gif。
import UIKit
class ViewController: UIViewController {
var i1 = ["a","b"]
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return i1.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.textAlignment = .center
cell.textLabel?.text = pets[indexPath.row]
//what I am trying to do but does not work. if the cell reads a I want the cell to display a image.
if i1[0] {
cell.imageView?.loadGif(name: "ftf")
}
return cell
}}
答案 0 :(得分:0)
这一行
if i1[0]
你没有将它与任何东西进行比较。
对于设置,您将“a”作为第一个索引,请尝试将其作为比较
if i1[indexPath.row] == "a" {
cell.imageView?.loadGif(name: "ftf")
}
答案 1 :(得分:0)
你怎么没有得到编译器错误 - 字符串不能转换为Bool?
在Swift中,if-block
内需要一个布尔值。在你的情况下是
if "a" == i1[indexPath.row] {
}