1

IBでコアデータモデルを作成するときに、属性の種類を指定する必要があります。文字列、日付、整数、小数などの選択肢があります。

私の質問は、同じ属性にNSDateを格納し、別のときに新しいエンティティを追加する方法ですが、今回はその属性にNSNumberを使用します。

言い換えれば、私はコアデータに等しいものが欲しいだけです。フェッチした後、またはNSNumberid Objectかどうかをチェックします。[[Object isKindOfClass[NSDate class]]

変換可能について聞いたことがありますが、保存するカスタマイズされたオブジェクトを作成していません。これに関するどんな光も素晴らしいでしょう

4

2 に答える 2

0

私は現在のプロジェクトでこのシナリオに出くわしました。値にint、float、booleanが含まれている場合は、NSNumberを属性として使用でき、NSDateが含まれている場合、属性はエンティティ内の文字列である必要があります。

この助けを願っています。

于 2012-06-08T05:53:01.840 に答える
0

これは非常に悪い考えです。実際、SQLiteでは日付は数値として表されますが、Core Dataは別の種類のストアを使用している可能性があるため、物事がどのように機能するかについてあまりにも多くの仮定をしているだけです。

エンティティanumberとaに追加の属性を指定する方がはるかにクリーンで簡単dateです。次に、それらのいずれかに値があるかどうか、または値が含まれているかどうかを簡単に確認できnilます。オブジェクトに日付または番号があるかどうかを示す3番目の属性を導入することでさえ、セットアップよりも望ましいでしょう。

于 2012-06-08T07:12:53.777 に答える