2015-11-22 94 views
0

我想在Swift中xCode 6中按下按鈕時將圖像更改爲另一圖像。我有我已經聲明爲一個IBOutlet,並嘗試使用該命令的形象圖:如何更改ImageView的圖像?

myImageView.image = [UIImage imageNamed:@"image2.png] 

但我得到該行的代碼如下錯誤:

  1. 上連續發言行必須用';'隔開
  2. 預期Decleration
  3. 在容器字面預期表達
  4. 在容器文字表達
  5. 預期屬性名稱

這裏是低於我的代碼預期 ']':

import UIKit 
import AVFoundation 

class ViewController: UIViewController { 

    @IBOutlet weak var photoImageView: UIImageView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func Play(sender: AnyObject) { 
     photoImageView.image = [UIImage imageNamed:@"litup.jpeg"] 

    } 
} 

回答

1

你得到的錯誤是因爲你試圖在swift代碼中使用客觀的c語法。

在swift中的UIImage有一個構造函數,但是需要一個name:String

在上面您將圖像設置爲imageView的情況下,您不需要打擾if let,因爲imageView.image帶有可選圖像(UIImage?)。該要是讓只需要你是否會從構造UIImage(name: String)

@IBAction func Play(sender: AnyObject) { 
    photoImageView.image = UIImage(named:"litup.jpeg") 
} 

處理得到零的情況下,應該能正常運行

+0

我試圖您提供的解決方案。我不再在ViewController.swift中得到錯誤,但是當我按下按鈕時,應用程序仍然崩潰。當我刪除行應用程序工作正常。 Identity Inspector或Attributes Inspector中的設置是否可能干擾該代碼行? –

+0

你能告訴我更多關於墜機事件嗎?當應用程序崩潰時,你看到什麼錯誤? – Moriya

+0

幾分鐘前剛剛嘗試過,它似乎工作正常。抱歉打擾你,並感謝你的幫助。 –