swift&オブジェクト指向触りたての初心者です.
凄く初歩的な質問だと思いますが,お答えいただけると幸いです.

現在,ViewControllerクラスにあるメソッドを別の(Testという名前の)クラスから呼びだそうとしています.その際,unexpectedly found nil while unwapping an Optional valueというエラーがでて停止してしまいます.原因が分からず困っています・・・.

色々回っている際,var viewController:ViewController! の部分を var viewController=ViewController() と書いているところもあり,どちらが正しいのかもわからない状態です.

よろしくお願いいたします.

ViewController.swift

import UIKit //impot KIt..

class ViewController: UIViewController,UIGestureRecognizerDelegate{

    private var myImageView:UIImageView!
    var myLabel: UILabel!
    let Ex = Test()

    @IBOutlet weak var status: UILabel!

    override func viewDidLoad() { //make function.

        super.viewDidLoad()
        //background image
        self.view.backgroundColor = UIColor(patternImage: UIImage(named: "cotton-a.png")!)
        Ex.ex()

    }



    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

    }

    func test(){
        myImageView = UIImageView(frame: CGRectMake(0, 0, 600, 100))

        var image : UIImage?

        image = UIImage(named: "check.png")
        myImageView.image = image
        myImageView.layer.position = CGPoint(x:self.view.bounds.width/2,y:self.view.bounds.height/2)

        self.view.addSubview(myImageView)

    }
}

Test.swift

import Foundation

class Test: NSObject {
    var viewController:ViewController!

    func ex(){

        for var i=0 ; i<10 ; i++ {

            println("i is \(i)")

            if(i==9){
                //次でエラーが出て落ちる.
                viewController.test()
            }
        }
    }
}