問題タブ [nsmanagedobjectmodel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - コードでの NSManagedObject モデルの使用
User モデル クラス (XCode と Swift で生成) があります。
そしてそれは拡張子です:
CoreData からデータを保存/取得できます。 しかし、このクラスを CoreData なしでオブジェクト管理に使用できますか? または、このために他のクラス/構造体を作成する必要がありますか?
たとえば、(ObjectContext なしで) User オブジェクトを作成し、その属性を設定して、いくつかの関数でプロパティとして送信しますか? たぶん、クラス User (のようなstruct {var firstNameData, secondNameData,...}
) でいくつかの構造体を作成し、それをコードで使用できますか?
core-data - 複数のモデルから NSManagedObjectModel を構築する
複数の NSManagedObjectModel をマージしたい理由はいくつかあります。Web を検索すると、すべての応答は、それは不可能であるか、1 つ以上の関係を共有する 2 つの無関係なエンティティに対してのみ可能であるというものです。たとえば、これとこのリンクを参照してください。
ただし、エンティティが(親子のように)関連している場合や、属性が複数のモデルに分散している場合でも、もう少し作業を行うと、NSManagedObjectModelsをマージすることが可能です(私は思います)。
ただし、Xcode モデル エディタではすぐには表示されず、すぐに使用できるトランジションは (おそらく) 機能しません。
以下の回答では、コアデータに関する私の観察と、複数のモデルのマージに関する私のコードを示しています。バグを見つけた場合、または改善のための提案がある場合は、ここに返信してください。
ios - 「Item-ItemDetails」を CoreData に格納する最良の方法
iOS アプリの 99% と同様に、私のアプリには長いアイテム リストを含むメイン画面があり、ユーザーがいずれかをタップすると、アイテムの詳細が表示されます。かなり簡単です。たとえば、最初の画面をレンダリングするには、titleとimagesが必要です。2 つ目は、大きな htmlです。すべてのデータは永続的に に保存されCoreData
ます。
UICollectionView
リスト ( ) をできるだけ高速にしたい。そのため、ユーザーが詳細画面に移動するまで、html-s を読み込めません。
どのように実装できますか?NSManagedObject
と の 2 つのクラスを作成する必要がItem
ありItemDetails
ますか? CoreData
すべてを遅延ロードしますか?
ios - コア データを介してデータをフェッチしている間、既存の行を自動的に再挿入します
私はコアデータが初めてです。オブジェクト指向の方法で実装しようとしています。サンプル プロジェクトとして、コア データを介して sqlite データベースからのデータを表示するビュー コントローラーを作成し、データは別のビュー コントローラーによって入力されます。ただし、モデル クラス「ContextHandler」を介してデータのフェッチと挿入を処理したかったので、別のモデル クラス「Device」を作成しました。これは のサブクラスですNSManagedObject
。
ただし、データを取得するときは、以前に入力したデータを再入力しています。
私のエンティティ モデル クラスの名前は「Device」です。
Device.h -
および Device.m -
次のクラスを使用して、デバイス オブジェクトを挿入およびフェッチしています。
挿入方法は、
そして取得方法は -
問題は、デバイス オブジェクトを初期化するときに、オブジェクトをデータベースに再度追加することになります。
この問題を解決する方法。データを再度挿入せずに Device クラスを初期化する方法。
できなかった -
それをすると、アプリがクラッシュします。誰でもここで私を助けてくれませんか。
ios - ストア メタデータと管理オブジェクト モデル間の互換性の基準は何ですか?
私のアプリはCoreData
フレームワークを使用しており、ストア メタデータとマネージド オブジェクト モデルの間の互換性を確認したいと考えています。私はそれを標準的な方法で行います:
を返しますNO
。ただし、メタデータ内のエンティティはモデル内のものと同じです。エンティティの数が同じで、各エンティティの名前が同じです。ただし、このモデルを使用してストアが作成されてからモデルが実際に変更されたため、1 つのエンティティでいくつかの属性を削除しました。そして、モデルがストアのメタデータと互換性がなくなるのに十分かどうか疑問に思っています. 公式ドキュメントを調べたところ、次のように書かれています。
そして問題は (私が Apple のドキュメントを読んでいるときによくあることですが)、このフレーズが正確に何を意味するのかよくわからないことです。それで、誰かがそのトピックについてもっと説明できますか? CoreData
メタデータのエンティティがモデルのエンティティと同じである場合、モデルがメタデータと互換性があるかどうかをどのように判断しますか?