SwiftでiOS SDKの「複数の引数がある@selector」を使う方法。
たまにはプログラミングの話題を。先日、ktanakaさん主催のSwiftのもくもく会に参加しました。
Swiftを触っているktanakaさんから質問を受けて、いろいろと一緒に調べたりもしました。(実はこの時に初めてSwiftのコードを見たくらいの初心者なんですけども...まあこれまでのObj-Cの知識とかもあるのでそれでなんとかかんとか。)
Swiftで@selectorを使用する関数を使う方法。
で、この時にハマったのはSwiftで複数の引数を持つ@selectorを使用する関数を使う方法。 @selectorの引数が1つのサンプルは結構書いてあるんですけど、UIImageWriteToSavedPhotosAlbum()の第3引数のような複数のはなかなか載ってないんですよね。
答えから言うと、こんな感じでokみたいでした。
https://github.com/ktanaka117/SwiftCam/blob/master/SwiftCam/ViewController.swift
// 呼ぶ側 UIImageWriteToSavedPhotosAlbum(image, self, "imageDidFinishSavingWithErrorContextInfo:error:contextInfo:", nil) // 呼ばれる側 func imageDidFinishSavingWithErrorContextInfo(image: UIImage!, error: NSErrorPointer, contextInfo: CMutableVoidPointer){ }
Objective-Cの時と一緒なんですけども、なぜかハマってしまったのでした...。