APIを叩いた後にアラートを出し、そのイベントを拾ってから次のイベントに進みたいのですが、クロージャ内でdelegate: selfを指定しても、イベントが拾われません。
Objective-Cは触っておらず、swiftも初心者なので解決法が浮かばずに困っております。

typealias CompletionHandler = (result: Bool?) -> Void

class hogeViewController: UIViewController, UIAlertViewDelegate {

    var completion: CompletionHandler?

    func test(completion: (result: Bool) -> Void) {

        let request = NSURLRequest(URL: NSURL(string: apiUrl)!)
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue(), completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) in

            let alert = UIAlertView(
                message: testMessage
                delegate: self,
                cancelButtonTitle: nil,
                otherButtonTitles: "test1", "test2")
            alert.show()
            return
        })
    }

    func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
        println("clickedButtonAtIndex")
        println(buttonIndex)

        self.completion!(result: true)
    }
}

お詳しい方がいましたらご回答宜しくお願い致します。