クロージャー内部で生成させたUIImageを、クロージャー外部で使うにはどうしたらいいですか?
swift及びプログラミング初心者です。
スタンプカメラアプリでカメラロールに保存したUIImageをTwitter投稿させる機能の実装方法で悩んでいます。
撮影ボタンを押すとクロージャー内部で画像を合成させて、最終的にcapturedImage2というUIImageが生成させました。
(カメラロールには画像が保存できています)
以下、クロージャー内部のコードです。
let myAVConnection = myImageOutPut.connectionWithMediaType(AVMediaTypeVideo)
myImageOutPut.captureStillImageAsynchronouslyFromConnection(myAVConnection, completionHandler:
{(imageDataBuffer, error) -> Void in
・・・・
・・・・
・省略・
・・・・
・・・・
let capturedImage2: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIImageWriteToSavedPhotosAlbum(capturedImage2, self, nil, nil)
UIGraphicsEndImageContext()
})
}
クロージャ内部で生成したcapturedImage2をtwitterに投稿したいため、Socialフレームワークを用いて以下の様なコードを記述したいと思っています。
@IBAction func postTwitter(sender: AnyObject) {
let twVC:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)!
let sendImage = rarara
twVC.addImage(sendImage)
self.presentViewController(twVC, animated: true, completion: nil)
}
上記のコードで
let sendImage = rarara
右辺のrararaの部分をクロージャ内部で生成したUIImageであるcapturedImage2としたいのですが、記述方法が分かりません。
クロージャ内部で生成したものをクロージャ外部で使いたい場合、どういったコーディングをすべきなのでしょうか。