問題タブ [uimanageddocument]
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 - UIManagedDocument: ネットワークがダウンしている場合 (保存中) に新しいファイルを作成するとエラー/クラッシュする
新しく作成した UIManagedDocument を iCloud に保存しようとしたときに、ネットワークがダウンしている場合 (機内モードなど)、次のエラーが発生し、クラッシュが発生します (16 進コードと読み取り不能なものが削除されます)。
このエラーはわかりませんが、アップロードできないため (もちろん、ネットワークがないため)、ドキュメントを保存できませんでしたと表示されます。しかし、保存完了ハンドラーでこのエラーをキャッチできない理由がわかりません。
ios - UIManagedDocument の NSUndoManager で自動保存が機能しない
解像度
NSUndoManager
子でのみ使用する必要がありますNSManagedObjectContext
(コア データで使用する場合)。これは、UIManagedDocument
が任意の時点で自動保存される可能性があり、その後undo
は が無効になるためです。したがってNSUndoManager
、子コンテキストでも同じ結果が得られるため、保存/キャンセル機能を実現するために を使用しても意味がありません。
子コンテキストよりも実装がはるかに簡単なので、本当に少し悲しいです(後者の場合、オブジェクトを親から子にコピーするNSUndoManager
ために呼び出す必要があります-苦痛です)。existingObjectWithID
個人的には、ドキュメントが自動保存されるべきではないと思っていたでしょうgroupingLevel != 0
。ラント終了。
元の質問
Core Data を使用してデータを にロードするテーブル ビュー コントローラーがありますUIManagedDocument
。テーブル内の各行を編集するビュー コントローラーにセグエします。そのView Controllerには、キャンセルボタンと保存ボタンがあります。NSUndoManager
オブジェクトのカテゴリを使用してキャンセル機能を実装していNSManaged
ます (self.list
以下)。
このカテゴリは を実装beginEdit
しておりendEdit
、cancelEdit
これは NSUndoManager のものを処理することを目的としています。以下のコードでuseUndo
は、NSUndoManager を使用した場合の影響を確認するために NO または YES に設定した定数です。
オブジェクトを保存して [ホーム] ボタンをクリックすると、変更がコミットされていることを示す Core Data デバッグ メッセージが表示されますuseUndo = NO
。ただし、useUndo = YES
ホームボタンをクリックしても自動保存されません。数分待ちましたが、まだ自動保存されません。自動保存を強制する方法はありますか?
undoManager を使用するとこの動作が変化する理由を誰か説明できますか?
これについて間違った方法で行っているか、コードに単純な問題があると思われます。どんな助けでも大歓迎です。
ios - 子コンテキストを performBlock に保存するコア データ: 元に戻すスタックを削除します。
お絵かきアプリを作っています。タップするたびに、いくつかのコア データ エンティティが作成されます。ユーザーは元に戻すボタンを押すことができ、それらのクリックは一度に 1 つずつ元に戻されます。これはうまくいきます。
問題は、自動化されたタスクが実行されたときに発生します。子コンテキストで一連のコア データ エンティティを作成し (それ自体でいくつかのものを描画します)、コンテキストを保存して、変更がメイン コンテキストに反映されるようにするボタンがあります。
問題は、ユーザーがタスク ボタンを何回押しても関係なく、すべての変更が 1 つの元に戻すステップにグループ化されることです。
明確にするために: 彼は 5 つのタスクを作成し、[元に戻す] を 1 回押すと、最初に戻ります。しかし、私は彼が各タスクを 1 つずつ元に戻すことができるようにしたいと考えています。
私は UIManagedDocument を使用しており、それは Core Data スタックです。したがって、これは 2 つのコンテキストです。1 つはディスクへの書き込み、もう 1 つは一般的な使用のための子です。次に、後者の子をバックグラウンド操作用に作成します。
これは私のコードです:
objective-c - nil以外のparentContextを使用してNSManagedObjectContextを作成するにはどうすればよいですか?
別のキュー/スレッドで実行されるNSManagedObjectContext
nonを持つをどのように作成しますか?nil
parentContext
UIManagedDocument
のmanagedObjectContextにはこれがありますが、を使用せずに複製する方法がわかりませんUIManagedDocument
。
これは私が使用しているコードであり、managedObjectContext
その結果、parentContext
プロパティは。になりnil
ます。
iphone - iCloud で UIManagedDocument を作成する際のエラー/クラッシュ
私のプロジェクトでは、CoreData と iCloud で UIManagedDocument を使用しています。特にネットワーク サービスがない場合、iCloud で UIManagedDocument を作成するときに多くのバグがあるようです。
しかし、作成のためにドキュメントを保存するときに、ネットワーク サービス (wifi も含む) で奇妙なエラー/アプリ クラッシュが発生します。
トランザクション ログ フォルダからのダウンロード操作を完了できませんでした。アプリはドキュメントを作成し、何もダウンロードしないはずなので、これを理解できません。
ところで、アプリの iCloud フォルダは空です!
デバイスから iCloud アカウントを削除し、再度ログインしても問題は解決しませんでした。デバイスは、iOS 6 を実行する iPhone 4S です。
似たような経験をした人はいますか?
編集:
現在、数百回の削除と再構築の後、同じデバイスで別のエラーが発生します。
どういうわけか、iCloud トークンを取得し、到達可能性に問題がないにもかかわらず、デバイスが iCloud サービスにアクセスできないようです...
ios - NSCFString _cfurl 認識されないセレクターがインスタンスに送信されました
私は何年にもわたって Core Data を扱ってきました。現在、UIManagedDocument について詳しく知りたいと思っています。それについてもっと学ぶために、いくつかのサンプルプロジェクトを行いました。最後に、このメカニズムを実際のプロジェクトに移すことができます。既存のプロジェクトでは、現在 Core Data を実装しているので、Data Model (アプリと同じ名前) を作成しました。エンティティのクラスを生成してから、データベースにオブジェクトを追加するための簡単な方法を持つカテゴリを作成しました。最後に、UIManagedDocument のシングルトンを作成しました。今のところ、次のようになります。
共有インスタンスをインスタンス化し、prepareManagedDocument メソッドを呼び出した後、次のメッセージでクラッシュします。
興味深いことに、最初の実行時にのみクラッシュしますが、このクラッシュのために永続ストレージが作成されないため、ドキュメントなどに書き込むことができません。このコードを使用しているプロジェクトがあります。 、例外をスローしないため、永続ストアが作成され、このドキュメントに書き込むことができます。
どこが間違っていますか?
前もって感謝します!
ios - NSManagedDocument ファイルを開けない
NSManagedDocument
作成後に開こうとしています。ドキュメントを数回正常に開いた後、ドキュメントを開くことができないようです。ドキュメント名を変更するか、アプリを再度削除/コピーすると、機能します。以下のメソッドは、アプリケーションが起動するたびにアプリ デリゲートで呼び出されます。
}
ios - シミュレーターで UIManagedDocument を開くのに時間がかかる
iPhone シミュレーターに関する問題の簡単な修正方法を探しています。
データベースにアクセスするために使用するコードは次のとおりです。
実際の iPhone では完全に動作しますが、シミュレーターでは動作しません。ラグ タイム (40 秒) は、最初の作成と既存のファイルの編集のためのものです。
「コンテンツと設定のリセット」、xcodeでのクリーン、シミュレーターでのアプリの削除+再構築を試しましたが、どれも機能しません。
次はどうする?
VB
iphone - UIManagedDocuments はいつ閉じますか?
私はこのブログを使用しています: http://www.adevelopingstory.com/blog/2012/03/core-data-with-a-single-shared-uimanageddocument.htmlシングルトンのシングルトンを作成しますUIManagedDocument
。関連するコードは次のとおりですBetterDatabase
私の質問: いつ UIManagedDocument を自動的に閉じることができますか? つまり、スタッフ 1 とスタッフ 2 の間でドキュメントが (OS/SDK によって) 閉じられる可能性はありますか? ユーザーが iPhone アプリを最小化してから再度開くとどうなりますか? UIManagedDocument
閉鎖されますか?
これを別の言い方をすると、次のようになります。UIManagedDocument