2017-08-03 17 views
0

以下のコードは、uitableviewセル(aとb)の2つのものをリストしています。私は、 "a"が書かれたセルにgifを1回だけ表示させたい。ここelse要素が配列要素(swift3)に依存する場合

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

"a"と書いてありますか? –

答えて

0

このライン

if i1[0] 

あなたは何と比較することはありません。あなたが持っている設定「」最初の指標として、どのように文字列がBOOLに変換可能でないエラー - コンパイラを取得されていません比較

if i1[indexPath.row] == "a" { 
    cell.imageView?.loadGif(name: "ftf") 
} 
0

のためにこれを試すために

スウィフトでは、if-blockのブール値が必要です。あなたの場合は

if "a" == i1[indexPath.row] { 
} 
+1

私は何をしようとしていたのか入力するだけでエラーになります。 –

+0

私はあなたにエラーの理由を教えてくれました。 if-blockにブール値を指定する必要があります。その場合は、文字列比較を行う必要があります。 –

関連する問題