// Adds a photo to the saved photos album.  The optional completionSelector should have the form:
//  - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo;
func UIImageWriteToSavedPhotosAlbum(image: UIImage!, completionTarget: AnyObject!, completionSelector: Selector, contextInfo: UnsafeMutablePointer<()>)

But what you need to do like this:

@IBAction func onSave(sender: AnyObject) {
    UIImageWriteToSavedPhotosAlbum(self.image.image, self, Selector("image:didFinishSavingWithError:contextInfo:"), nil)

func image(image: UIImage, didFinishSavingWithError error: NSErrorPointer, contextInfo: UnsafePointer<()>) {
    dispatch_async(dispatch_get_main_queue(), {
        UIAlertView(title: "Success", message: "This image has been saved to your Camera Roll successfully", delegate: nil, cancelButtonTitle: "Close").show()


import Foundation

extension String {
    func MD5() -> String {
        let data = (self as NSString).dataUsingEncoding(NSUTF8StringEncoding)
        let result = NSMutableData(length: Int(CC_MD5_DIGEST_LENGTH))
        let resultBytes = UnsafeMutablePointer(result.mutableBytes)
        CC_MD5(data.bytes, CC_LONG(data.length), resultBytes)

        let a = UnsafeBufferPointer(start: resultBytes, length: result.length)
        let hash = NSMutableString()

        for i in a {
            hash.appendFormat("%02x", i)

        return hash