NSNumberをスキップしてNSIntegerを直接使用する方法はありますか?コアデータにNSIntegerを格納
答えて
Core Dataは唯一NSNumbersを許可します。ただし、NSIntegerプロパティを使用するカスタムゲッターとセッターを記述することができます。 mogeneratorは自動的にあなたのためにそれを行う素晴らしいツールです:それはあなたのすべてのエンティティのネイティブプロパティでクラスを生成します。
NSInteger
は、オブジェクトではなく長い整数の単なるtypedefです。
実際の実装:
#if __LP64__ || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
NSNumber
クラスは、プロパティリストおよびコアデータに格納することができるオブジェクトにプリミティブ型(int
、float
など)のカプセル化を可能にします。
例:
float pi = 3.1415;
NSNumber *piNumber = [NSNumber numberWithFloat:pi];
あなたは、簡単にNSNumber
オブジェクトに格納された値にアクセスし、および/または変換することができます:
int piAsInteger = [piNumber intValue];
妥当な答えですが、この特定の質問ではありません。 – Abizern
はい、そうです。 Core Dataは* objects *しか保持しないので、 'NSNumber'クラスが必要です。信頼性の低いサードパーティ製のユーティリティがないと、他の方法はありません。 –
彼はNSNumberをスキップしてNSIntegerを使用できるかどうか尋ねました。コアデータにのみオブジェクトを格納できるため、答えは「いいえ」です。 NSNumberが値をどのようにカプセル化するかの説明は不必要です。そして、他の誰かが私に同意しない場合、彼らはあなたの答えをアップアップすることが自由です。 – Abizern
- 1. コアデータにポインタを格納する
- 2. コアデータにABRecordRefを格納する
- 3. 不要なデータを格納するコアデータ
- 4. コアデータに負の整数を格納する
- 5. Xcode-コアデータまたはSQLiteにデータを格納しますか?
- 6. コアデータを使用してunsigned long longを格納する
- 7. JSONフィードの最後のオブジェクトのみを格納するコアデータ
- 8. コアデータの格納が繰り返されます
- 9. コアデータに現在のユーザーを格納するために落ちる
- 10. コアデータにunsigned longを格納する方法はありますか?
- 11. コアデータに変換可能なプロパティとしてNSDictionaryを格納する方法
- 12. コアデータに格納された整数情報の転送と編集の問題
- 13. NSIntegerをNSIntegerに連結する
- 14. iPhone - コアデータNSInteger、integer32、intまたは何でも
- 15. コアデータを使用してNSSet(一対多)を格納する方法は?
- 16. パラメータに格納ストアドプロシージャ
- 17. タイプテーブルにオブジェクト値を格納
- 18. テストプロジェクトにテストファイルを格納
- 19. xmlをxmlに格納
- 20. データをjavascriptに格納
- 21. 配列をデータテーブルに格納
- 22. JSONObjectをRealmObject内に格納
- 23. 時刻をSQLに格納
- 24. sharedpreferencesに配列を格納
- 25. JTableにarrylistデータを格納
- 26. BigIntegerをMysqlに格納
- 27. データベースにオブジェクトを格納
- 28. テキストファイルをDirに格納し、ファイル名をリストに格納するpython
- 29. - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
- 30. NSIntegerを*
また、Xcodeの現在のバージョン(このコメントの4.3.2)では、NSManagedObjectサブクラスを生成するときにチェックボックスをオンにして、 "プリミティブデータ型にスカラープロパティを使用する"ことができます。合成されたアクセサがNSNumberと適切なスカラとの間で昇格/降格させるようにします。たとえば、 "Integer 32"は生成された.hファイルでint32_tとして宣言され、コード内のプロパティに単純に整数を割り当てることができます。 –