最近NSNumberの初期化に関連して興味深い問題が見つかりました。NSNumberの初期化の問題
シミュレータ(9.3.1)とデバイス(9.3.1)の間に違いが生じました。
私たちはint x = 2を持っていると仮定しよう。 NSNumberを初期化してメソッドに渡します。
NSNumber *test = [NSNumber numberWithInt:self.x];
[self.method setTestNumber: test];
この2行は、シミュレータとデバイスの両方で正しい結果を示しました。
[self.method setTestNumber:[NSNumber numberWithInt:self.x]];
は全く予想外の結果を持っていただけで、このラインを使用して
しかし 。シミュレータNSNumber intValueで2を実行しました。
デバイス上で実行すると、ランダムな値が正しくありませんでした。そんなことがあるものか?デバイスはiPad 4 A1458です。また、iPad 3 16GBでテストされています。同じ問題が発生しました。この問題を確認できますか?
問題を再現できません。あなたの "メソッド"クラスがどのように見え、どのように初期化するのかを知ることは役に立ちます。 – tuvok
'setTestNumber'メソッドを書いてください。その方法に問題があるはずです – Lion
「シミュレータ(9.3.1)」とはどういう意味ですか?私たちはiOS 9.3.1シミュレータランタイムをリリースしていません。私はあなたがiOS 9.3を意味すると思いますか? –