2016-05-13 41 views
0

我在Xcode中的第一個電話應用程序(7.3和Swift 2)。花費數週試圖在選中某行時更改圖片。在Xcode Swift中選擇行時更改圖片

myImageView是一個自定義單元格類(SWIFT文件)與ImageView的出口:


import UIKit 

class myTableViewCell: UITableViewCell { 

    @IBOutlet weak var myCellLabel: UILabel! 

    @IBOutlet weak var myImageView: UIImageView! 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 
    } 
} 

當行選擇我想要替換的圖像,但無法引用的單元格。 myImageView.image {indexPath.row] = UIImage的(命名爲:「SquareGreen.png」)

這是行

let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as! myTableViewCell 
cell.myImageView.image = UIImage(named: "Square.png") 

這不起作用

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

    myTableViewCell.myImageView.image[indexPath.row] = "SquareGreen.png" 

    cell.myImageView.image[indexPath.row] = UIImage(named: "SquareGreen.png") 

    // error    「use of unresolved identifier cell」 
} 

什麼想法?

+0

錯誤消息看起來相當明顯......您的函數範圍內沒有名爲'cell'的變量。 (您可以在表格視圖中查詢當前選擇的索引路徑以及該索引路徑處的單元格。) –

回答

0

此行是錯誤的:

myTableViewCell.myImageView.image[indexPath.row] = "SquareGreen.png" 

變化:

let cell = tableView.cellForRowAtIndexPath(indexPath) as myTableViewCell 
cell.myImageView.image = "SquareGreen.png" 

的第一個問題是什麼菲利普·米爾斯在評論中指出的 - 你不必細胞變量,你需要創建一個。第二個問題是,要爲myImageView屬性分配新映像,您需要按照上面的代碼(image不是數組或字典)進行賦值。

+0

感謝您的建議,粘貼讓您信賴的單元格是可以的。然而,它會拋出錯誤「實例成員」myImageView「不能用於類型myTableviewCell」 – jimL

+0

我有我的代碼中的拼寫錯誤,我現在修復它(改變'myTableViewCell.myImageView.image'到'cell.myImageView.image')。 – paulvs

+0

謝謝保羅夫斯現在很好。我在這個論壇上的第一篇文章,並得到了一個結果,所以我很高興。欣賞你的時間和興趣。 jimL – jimL