0
我有一個數組與不同的UIViews,但這些UIViews具有相同的方法誰做不同的事情,我想調用這些方法。我的數組是創建爲當我試圖調用該方法時,它不存在到UIView類。在數組中調用UIView的自定義函數
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
var pages:Array<UIView> = []
let view1:View1 = View1(frame: CGRectMake(0, 0 , 100 , 100))
view1.backgroundColor = UIColor.blueColor()
pages.append(view1)
let view2:View2 = View2(frame: CGRectMake(100, 100 , 100 , 100))
view2.backgroundColor = UIColor.redColor()
pages.append(view2)
let view3:View3 = View3(frame: CGRectMake(200, 200 , 100 , 100))
view3.backgroundColor = UIColor.orangeColor()
pages.append(view3)
//This work
for myView in pages {
self.view.addSubview(myView)
}
// I would like to call a generic function into a uiview class into array
for myView in pages {
myView.generic()
}
}
class View1: UIView {
override init(frame: CGRect ) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func generic(){
println("A, B, C")
}
}
class View2: UIView {
override init(frame: CGRect ) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func generic(){
println("X, Y, Z")
}
}
class View3: UIView {
override init(frame: CGRect ) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func generic(){
println("1, 2, 3")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
和平的蛋糕,謝謝 –