問題タブ [mapping-model]
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.
iphone - iPhone Core Data Lightweight Migration:モデルをマージできません
iPhoneのコアデータから始めたばかりですが、軽量移行で問題が発生しました。
- 古いモデルに2つの新しいフィールドを追加しました
- モデルクラスファイルを再生成しました
- 新しいモデルバージョンを現在のバージョンとして作成
生成されたテンプレートのAppDelegateに次のコードを追加しました
NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES]、NSMigratePersistentStoresAutomaticallyOption、[NSNumber numberWithBool:YES]、NSInferMappingModelAutomaticallyOption、nil];
if(![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]){
そしてついに、アプリを実行する前にクリーンビルドを実行しました。
アプリがクラッシュすると、次のエラーが発生します...
ここでデバッグするために、次のコードを追加しました...
これにより、次の結果が表示されます。
アプリバンドル>MyApp.momd>VersionInfo.plistファイルを確認しました
以下の内容になりました。
ここで何が欠けていますか?
更新:問題は、モデルで見逃していたデフォルト値の属性であることが判明しました。
objective-c - コア データ エラーの防止
App Store 用の Mac アプリケーションを作成しましたが、Core Data 用に「モデル」ファイルを変更する必要があることがわかりました。私の経験では、このモデルを変更すると、古いモデルに関連付けられている古いファイル (ドキュメント ベースのアプリ) を開くときにエラーが発生します。古いモデルを「バージョン管理」してから新しいモデルを作成することでこれを防ぐことができることをAppleのドキュメントで読みました(私は間違っているかもしれません)-これに関するヒントはありますか?ファイルを開けない人から怒りのメールをたくさん受け取るのは嫌です。前もって感謝します!
ザック
cocoa - マッピング モデルで逆関係の値を設定するにはどうすればよいですか?
私のモデルの v1 では、 a と の間に 1 対多の関係がpresentation
ありslides
ます。
v2 では、逆の 1 対 1 を追加して、この愚かさを修正します。
両方のモデルで、aslide
は 1 に属し、1 だけに属しpresentation
ます (ただし、これはモデル内で体系化されていません)。
サブクラスslide-->presentation
を作成せずに関係を作成するには、マッピング モデルで値式を指定する方法を教えてください。NSEntityMigrationPolicy
iphone - 単一のエンティティから、子エンティティを持つ抽象的な親エンティティへの移行、NSEntityMigrationPolicy が呼び出されない
現在のアプリケーションをアップグレードして、特殊なサブエンティティを持つ抽象的な親エンティティを使用しようとしています。カスタム NSEntityMigrationPolicy を作成し、マッピング モデルでカスタム ポリシーをクラスの名前に設定しました。
このように永続ストアを初期化していますが、これはかなり標準的なはずです。
アプリを実行すると、次のエラーが表示されます。
キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: '操作を完了できませんでした。(ココア エラー 134140)」
[error userInfo] に「reason=Can't find mapping model for migration」が含まれています
データ モデルのバージョン 1 が開くことを確認しました。NSInferMappingModelAutomaticallyOption を設定すると移行が行われますが、エンティティは正しく移行されません (期待どおり)。
マッピング モデル (cdm) がアプリケーション バンドルに含まれていることを確認しましたが、なぜか見つからないのです。また、カスタム移行ポリシーにブレークポイントと NSLog() ステートメントを設定しましたが、NSInferMappingModelAutomaticallyOption の有無にかかわらず、どれも実行されません
マッピングモデルが見つからない理由についてのヒントはありますか?
nhibernate - 子コレクションを持つオブジェクトを追加する
Site クラスと Phase クラスの 2 つのクラスがあります。Site クラスはフェーズのコレクションを定義します。各クラスはデータベース テーブルに対応します。データベース (SQL Server 2000) には、2 つのテーブル間に 1 対多の参照があるため、特定のサイトは多くのフェーズに関連付けることができますが、特定のフェーズは 1 つのサイトにしか関連付けることができません。
FluentNHibernate を使用してマッピングを行っています。これをマップして、新しい Site インスタンスを作成し、いくつかの Phase インスタンスを割り当て、1 回の呼び出しですべてのインスタンスをデータベースに取得できるようにします。
次のマッピングを配置していますが、うまくいきません。
私は一般的にNHibernateを初めて使用するので、ここに示されているマッピングには、私が気付いていない他の問題がある可能性があることを認識しています。これら 2 つのクラスを最適にマッピングする方法について、ご助力いただければ幸いです。ティア。
xcode - コアデータの移行:属性マッピング値の式
現在、エンティティにcardType属性があります。これは、古いモデルでは「Math」、「Image」、または「Text」である可能性があります。新しいモデルでは、「Math」と「Text」だけを使用し、hasImage属性もあります。これは、古いcardTypeがImage(「Text」に変更したい)の場合はtrueに設定します。
最後に、別のエンティティ「カード」のセットがあり、そのセットをデッキに関連付けることができます。それぞれのエンティティには、デッキが「」の場合にtrueに設定したいhasImageもあります。前の「画像」タイプ。
これは、2つのバージョン間で作成したマッピングモデルの値式を使用してすべて可能ですか、それとも何か他のことをする必要がありますか?
値式で何が可能かを正確に説明しているドキュメントが見つかりません(Appleのドキュメント-http ://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/vmMappingOverview.html% 23 // apple_ref / doc / uid / TP40004735-SW3-非常に単純な変換のみがあります)。私が何か他のことをしなければならない場合、それは何でしょうか?これは、式がそれを実行できるはずであるほど単純に思えます。
iphone - コア データ モデルの versionIdentifier の変更
マッピング モデルが移行で使用されていない問題をデバッグしようとしているので、sourceModel と destinationModel の versionIdentifiers を出力しましたが、どちらも空白でした。
このリンクでは、モデル インスペクターで設定するように指定されていますが、xcode 3 または 4 では見つかりません。少なくとも、データ モデル自体を見つけることができるどこにも versionIdentifier などはありません。
私がそれをどこで見つけたか知っている人はいますか?
iphone - CoreDataの移行-移行用のマッピングモデルが見つかりません
http://www.timisted.net/blog/archive/core-data-migration/にあるガイドに従いました が、新しいモデルでアプリを起動すると、「移行用のマッピングモデルが見つかりません」というメッセージが表示され続けます。 。xcode3とxcode4で何度も試しましたが、動作させることができません。
現在、私のオプションは次のように設定されています。
以前に推論オプションにYESを設定していましたが、移行する必要のあるカスタムポリシーを呼び出さずに移行していました。これは、以前にもマッピングモデルが見つからなかったためだと思います。
マッピングモデルが取得されない理由は何ですか?以前のモデルをSVNバージョンと照合して、変更が加えられていないことを再確認しました。
ありがとう。
iphone - アプリの更新後のコアデータの保持
ユーザーが選択したお気に入りを保存するためにコアデータを使用しています。アプリのアップデートを送信した場合、ユーザーがアプリをアップデートした後もお気に入りのデータを保持するにはどうすればよいですか?
バージョニングを使用できることを読みましたが、これが正しい方法かどうかはわかりません。
どんな助けでもありがたいです!ありがとう
core-data - coredataの自動軽量移行後にアップデートがクラッシュする
最近、軽量のコアデータ移行(既存のテーブルの新しいフィールドといくつかの新しいテーブルを含む)を含むアプリのアップグレードを提出しました。このサイトで見つけたものも含め、この移行に関するすべてのヒントに従いました。
3つの異なるデバイスでアップデートを徹底的にテストしましたが、すべて問題ありませんでした。
ただし、この更新により、すべてのデバイスと、おそらくすべての顧客がクラッシュします。なぜこれが起こっているのか説明できません。
この大失敗を理解するのを手伝ってくれませんか。