2015-04-21 49 views
0

我正在为其属性创建出口ImageView集合和自定义类“TTTImageView”。我想补充TapGestureRecognizer所有的ImageView,但我发现这个错误在swift中运行此代码时出现类型不匹配错误

“的NSArray元素眼福雨燕数组元素类型”

我ViewController.swift类是这个样子:

import UIKit 

class ViewController: UIViewController { 



@IBOutlet var fields: [TTTImageView]! 

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

func setUpLogic(){ 
    for index in 0 ... fields.count-1{ 
     let gestureRecognizer = UITapGestureRecognizer(target: self, action: "fieldTapped") 
     gestureRecognizer.numberOfTapsRequired = 1 
     fields[index].addGestureRecognizer(gestureRecognizer) 
    } 
} 

func fieldTapped(recognizer:UITapGestureRecognizer){ 

    var img = recognizer.view as TTTImageView 
    img.setPlayer("x") 


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

}

和TTTImageView.swift是:

import UIKit 

class TTTImageView: UIImageView { 
var player : String = String() 

func setPlayer(player : String){ 
    self.player = player 
    if(player == "x"){ 
     self.image = UIImage(named: "alphabet X") 
    } 
    else{ 
     self.image = UIImage(named: "alphabet O") 
    } 
} 

} 

我认为这是一个类型转换问题,但不知道如何解决。请让我解决这个问题。由于

+1

发生什么错误? –

+0

就此线路。 fields [index] .addGestureRecognizer(gestureRecognizer) –

+0

你做了一个干净的构建?一见钟情似乎不对。 – vrwim

回答

0

也许你想这是什么

@IBOutlet var fields: [TTTImageView!] 

,而不是这个

@IBOutlet var fields: [TTTImageView]! 

请注意!字符。

相关问题