LoginSignup
1
1

More than 5 years have passed since last update.

本番ビルド時にNSDataオブジェクトをAnyObject?受け取るとnilになる

Last updated at Posted at 2015-09-04

前提

  • 本番環境(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)")
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1