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. コアデータにABRecordRefを格納する
- 2. Swift:コアデータにカスタムクラスの配列を格納
- 3. コアデータにポインタを格納する
- 4. 不要なデータを格納するコアデータ
- 5. オブジェクトマッパークラスを使用してコアデータにデータを格納する
- 6. Xcode-コアデータまたはSQLiteにデータを格納しますか?
- 7. コアデータに負の整数を格納する
- 8. コアデータに順次データを格納する方法は?
- 9. コアデータを使用してunsigned long longを格納する
- 10. JSONフィードの最後のオブジェクトのみを格納するコアデータ
- 11. コアデータの格納が繰り返されます
- 12. コアデータに現在のユーザーを格納するために落ちる
- 13. ポリマーアプリケーションの格納と格納
- 14. iPhone - コアデータNSInteger、integer32、intまたは何でも
- 15. NSIntegerをNSIntegerに連結する
- 16. コアデータにunsigned longを格納する方法はありますか?
- 17. コアデータに変換可能なプロパティとしてNSDictionaryを格納する方法
- 18. ArrayListに格納
- 19. コアデータに格納された整数情報の転送と編集の問題
- 20. - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
- 21. コアデータを使用してNSSet(一対多)を格納する方法は?
- 22. NSIntegerを*
- 23. ストリーミングデータを格納
- 24. パラメータに格納ストアドプロシージャ
- 25. タイプテーブルにオブジェクト値を格納
- 26. ハッシュ値をintに格納
- 27. 時刻をSQLに格納
- 28. JTableにarrylistデータを格納
- 29. カスタムインデックスにデータを格納:GWLP_USERDATA_EX?
- 30. sharedpreferencesに配列を格納
また、Xcodeの現在のバージョン(このコメントの4.3.2)では、NSManagedObjectサブクラスを生成するときにチェックボックスをオンにして、 "プリミティブデータ型にスカラープロパティを使用する"ことができます。合成されたアクセサがNSNumberと適切なスカラとの間で昇格/降格させるようにします。たとえば、 "Integer 32"は生成された.hファイルでint32_tとして宣言され、コード内のプロパティに単純に整数を割り当てることができます。 –