前提
- 本番環境(Release)
- NSDataオブジェクトをAnyObject?で受け取るメソッドを定義している
事象
- AnyObject?でNSDataオブジェクトを受け取ると、受け取った値が nil になる
サンプル(上記事象が発生するコード)
本番環境(Release)ビルドで以下のコードをコンパイルすると、dataの値がnilとなる
var str = "Hello";
// String to NSData
let data = str.dataUsingEncoding(NSUTF8StringEncoding)
sampleMethod(data)
func sampleMethod(data: AnyObject?) {
var out: String = NSString(data:data, encoding:NSUTF8StringEncoding)
println("data:\(data)")
}
対策
受け取るデータ型をNSData?にする。
func sampleMethod(data: NSData?) {
println("data:\(data)")
}