if else语句取决于数组元素(swift3)

时间:2017-08-03 14:47:14

标签: ios arrays uitableview swift3

下面的代码列出了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
}}

2 个答案:

答案 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] {
}