[解決済み] Core DataでEnumを実装する最適な方法
2022-10-02 12:42:10
質問
Core Data エンティティを enum 値にバインドして、エンティティに型プロパティを割り当てられるようにするには、どのような方法がありますか。言い換えれば、私は
Item
というエンティティがあり、そのエンティティに
itemType
プロパティを enum にバインドしたいのですが、 これを行う最良の方法は何でしょうか。
どのように解決するのですか?
enumに値を限定したい場合は、カスタムアクセサを作成する必要があります。そこで、まず、以下のようにenumを宣言します。
typedef enum {
kPaymentFrequencyOneOff = 0,
kPaymentFrequencyYearly = 1,
kPaymentFrequencyMonthly = 2,
kPaymentFrequencyWeekly = 3
} PaymentFrequency;
次に、あなたのプロパティのゲッターとセッターを宣言します。標準的なアクセサはスカラー型ではなく NSNumber オブジェクトを期待するので、既存のものをオーバーライドするのは悪い考えです。
- (PaymentFrequency)itemTypeRaw {
return (PaymentFrequency)[[self itemType] intValue];
}
- (void)setItemTypeRaw:(PaymentFrequency)type {
[self setItemType:[NSNumber numberWithInt:type]];
}
最後に
+ keyPathsForValuesAffecting<Key>
を実装し、itemTypeが変更されたときにitemTypeRawのKVO通知を受け取れるようにします。
+ (NSSet *)keyPathsForValuesAffectingItemTypeRaw {
return [NSSet setWithObject:@"itemType"];
}
関連
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
-
[解決済み] iPhoneのシミュレータに.ipaファイルをインストールする方法は?
-
[解決済み] Cocoa Core Dataでエンティティのカウントを効率的に行う方法
-
[解決済み] TabBarのタブビューにプログラムで切り替える?
-
[解決済み] iOSでHTMLをNSAttributedStringに変換する
-
[解決済み] iOSアプリでドキュメントフォルダ内にフォルダを作成する
-
[解決済み] UIImageのアスペクト比と幅を維持したリサイズ
-
[解決済み] UILabelがラベルサイズに合うようにテキストを自動縮小しない
-
[解決済み] アプリを提出する前にitunesのリンクを取得する
-
[解決済み] 現在のメソッド呼び出しのスレッド ID を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] UITextViewのキーボードをリターンキーで解除するには?
-
[解決済み] iOSの配布証明書の正しい更新方法
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み] iPhoneでウェブページからアプリがインストールされているかどうかを確認する方法
-
[解決済み] エラー : サービスは無効です
-
[解決済み] iPhoneのTableViewのCellの右側に小さな矢印を追加する
-
[解決済み] モバイルアプリにおけるOAuthの秘密
-
[解決済み] iphoneシミュレーターでキーボードを使うにはどうしたらいいですか?
-
[解決済み] Xcodeは私のiOSデバイスを見ませんが、iTunesは見ます。
-
[解決済み] MKMapViewのズームレベル設定