2011-01-21 8 views
0

これは仮説的な質問かもしれませんが、わかりません。オブジェクトをプリミティブにマップする方法はありますか?

私はObjective-Cでオブジェクト指向のプリミティブを見逃していました。代わりに、BOOLintからNSNumberに無限に変換し直す必要があり、扱いにくく、バグが発生する可能性のあるコードを作成する必要があります。

マップのすべてのプリミティブな値のタイプをグローバルに技術的に可能などのintBOOLfloatなど、そのオブジェクト指向のカウンターピースに、すなわちNSNumber

+0

「プリミティブ型からNSNumberに戻って戻ってくる必要がありますか」とはどういう意味ですか?私のアプリでこれを行う必要はほとんどありませんが、まれにしかありません。 ? –

+0

コアデータ。プリミティブの値を永続的なモデルに保存することはできません。正当な理由は、Cocoaのプリミティブが実際のオブジェクトであることだけです。 –

答えて

1

技術的に可能ですか?確かに。完全に。

CF*Dictionaryおよび/またはNSMapTableを参照してください。どちらもObjective-Cインスタンスとプリミティブおよび/または非Objective-Cタイプの間のマッピングを可能にします。

必要に応じて、ルックアップを行うためのコードを書く必要があります(または、コンパイラを変更する必要があります)。

0

私はそうは思わないし、あなたには大丈夫だとは思わない。流れに行けば最高です。コンパイラの警告を無視しないと、これはバグの多いコードになることはめったにありません。

関連する問題