私は今日、2つのバグを追跡することに時間を費やし、同じソリューションを使用して両方を修正することになりました。
解決策がわかったので、その背後にある明確さを得たいと思っていました。
Core Data(Integer 16 / NSNumber)の属性を整数(ABPropertyID&ABMultiValueIdentifier)と比較しています。
バグはこの比較にあり、奇妙なことに、(バックグラウンドトレイから)アプリを強制終了し、再度開いて、比較と同じプロセスを実行した後にのみ現れました。いずれかの方法...
これは、再起動後に動作を停止したものです。
if (myNumber.aProperty == [NSNUmber numberWithInt:anInteger]) { /* do stuff here */ }
そして、これらはこれまでのところ完全に機能している2つのソリューションです。
if ([myNumber.aProperty integerValue] == anInteger) {/* do stuff here */ }
if ([myNumber.aProperty isEqualToNumber:[NSNumber numberWithInt:anInteger]]) { /* do stuff here */ }
私には、それらはすべて同じに見えます。私は常にNSNumberをintegerValueに変換するか、整数をNSNumberに変換しています。
何か案は?