UIImage → NSData への変換についての疑問


`UIImage`オブジェクトを`NSUserDefaults`に保存するために`NSData`型に変換しようとしています。  
`UIImagePNGRepresentation` メソッドまたは `UIImageJPEGRepresentation` メソッドで  
PNGやJPEGの画像をそれぞれ`NSData`型に変換できるということなのですが、元の画像のフォーマットが不明といった場合など、PNGやJPEGといった指定はせずに`NSData`型に変換するにはどのようにすればよいのか教えて頂きたいと思います。

`NSKeyedArchiver.archivedDataWithRootObject`
メソッドで`UIImage`（ファイル名から生成したものです）を変換してみたのですが正しくアーカイブされないようです。

よろしくお願い致します。




UIImageをPNG形式のデータにするときにUIImagePNGRepresentation()を、JPEG形式のデータにするときにUIImageJPEGRepresentation()を使用します。元の画像フォーマットを気にする必要はありません。

具体的にはこんな感じになります。  
（Xcode 7.0.1で確認）

[code]

    // 何らかの形でUIImageを用意
    let image = UIImage(named: "pic01")!
    
    // PNG形式の画像フォーマットとしてNSDataに変換
    if let data = UIImagePNGRepresentation(image) {
    
        // dataを保存する
    
    }
    
[/code]

余談ですが、UIImageをNSUserDefaultsに保存するのはあまりおすすめ出来ません。

