問題タブ [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.

0 投票する
1 に答える
612 参照

iphone - UIManagedDocument: ネットワークがダウンしている場合 (保存中) に新しいファイルを作成するとエラー/クラッシュする

新しく作成した UIManagedDocument を iCloud に保存しようとしたときに、ネットワークがダウンしている場合 (機内モードなど)、次のエラーが発生し、クラッシュが発生します (16 進コードと読み取り不能なものが削除されます)。

このエラーはわかりませんが、アップロードできないため (もちろん、ネットワークがないため)、ドキュメントを保存できませんでしたと表示されます。しかし、保存完了ハンドラーでこのエラーをキャッチできない理由がわかりません。

0 投票する
1 に答える
865 参照

ios - UIManagedDocument の NSUndoManager で自動保存が機能しない

解像度

NSUndoManager子でのみ使用する必要がありますNSManagedObjectContext(コア データで使用する場合)。これは、UIManagedDocumentが任意の時点で自動保存される可能性があり、その後undoは が無効になるためです。したがってNSUndoManager、子コンテキストでも同じ結果が得られるため、保存/キャンセル機能を実現するために を使用しても意味がありません。

子コンテキストよりも実装がはるかに簡単なので、本当に少し悲しいです(後者の場合、オブジェクトを親から子にコピーするNSUndoManagerために呼び出す必要があります-苦痛です)。existingObjectWithID個人的には、ドキュメントが自動保存されるべきではないと思っていたでしょうgroupingLevel != 0。ラント終了。

元の質問

Core Data を使用してデータを にロードするテーブル ビュー コントローラーがありますUIManagedDocument。テーブル内の各行を編集するビュー コントローラーにセグエします。そのView Controllerには、キャンセルボタンと保存ボタンがあります。NSUndoManagerオブジェクトのカテゴリを使用してキャンセル機能を実装していNSManagedます (self.list以下)。

このカテゴリは を実装beginEditしておりendEditcancelEditこれは NSUndoManager のものを処理することを目的としています。以下のコードでuseUndoは、NSUndoManager を使用した場合の影響を確認するために NO または YES に設定した定数です。

オブジェクトを保存して [ホーム] ボタンをクリックすると、変更がコミットされていることを示す Core Data デバッグ メッセージが表示されますuseUndo = NO。ただし、useUndo = YESホームボタンをクリックしても自動保存されません。数分待ちましたが、まだ自動保存されません。自動保存を強制する方法はありますか?

undoManager を使用するとこの動作が変化する理由を誰か説明できますか?

これについて間違った方法で行っているか、コードに単純な問題があると思われます。どんな助けでも大歓迎です。

0 投票する
1 に答える
705 参照

ios - 子コンテキストを performBlock に保存するコア データ: 元に戻すスタックを削除します。

お絵かきアプリを作っています。タップするたびに、いくつかのコア データ エンティティが作成されます。ユーザーは元に戻すボタンを押すことができ、それらのクリックは一度に 1 つずつ元に戻されます。これはうまくいきます。

問題は、自動化されたタスクが実行されたときに発生します。子コンテキストで一連のコア データ エンティティを作成し (それ自体でいくつかのものを描画します)、コンテキストを保存して、変更がメイン コンテキストに反映されるようにするボタンがあります。

問題は、ユーザーがタスク ボタンを何回押しても関係なく、すべての変更が 1 つの元に戻すステップにグループ化されることです。

明確にするために: 彼は 5 つのタスクを作成し、[元に戻す] を 1 回押すと、最初に戻ります。しかし、私は彼が各タスクを 1 つずつ元に戻すことができるようにしたいと考えています。

私は UIManagedDocument を使用しており、それは Core Data スタックです。したがって、これは 2 つのコンテキストです。1 つはディスクへの書き込み、もう 1 つは一般的な使用のための子です。次に、後者の子をバックグラウンド操作用に作成します。

これは私のコードです:

0 投票する
2 に答える
372 参照

objective-c - nil以外のparentContextを使用してNSManagedObjectContextを作成するにはどうすればよいですか?

別のキュー/スレッドで実行されるNSManagedObjectContextnonを持つをどのように作成しますか?nil parentContext

UIManagedDocumentのmanagedObjectContextにはこれがありますが、を使用せずに複製する方法がわかりませんUIManagedDocument

これは私が使用しているコードであり、managedObjectContextその結果、parentContextプロパティは。になりnilます。

0 投票する
3 に答える
825 参照

iphone - iCloud で UIManagedDocument を作成する際のエラー/クラッシュ

私のプロジェクトでは、CoreData と iCloud で UIManagedDocument を使用しています。特にネットワーク サービスがない場合、iCloud で UIManagedDocument を作成するときに多くのバグがあるようです。

しかし、作成のためにドキュメントを保存するときに、ネットワーク サービス (wifi も含む) で奇妙なエラー/アプリ クラッシュが発生します。

トランザクション ログ フォルダからのダウンロード操作を完了できませんでした。アプリはドキュメントを作成し、何もダウンロードしないはずなので、これを理解できません。

ところで、アプリの iCloud フォルダは空です!

デバイスから iCloud アカウントを削除し、再度ログインしても問題は解決しませんでした。デバイスは、iOS 6 を実行する iPhone 4S です。

似たような経験をした人はいますか?

編集:

現在、数百回の削除と再構築の後、同じデバイスで別のエラーが発生します。

どういうわけか、iCloud トークンを取得し、到達可能性に問題がないにもかかわらず、デバイスが iCloud サービスにアクセスできないようです...

0 投票する
1 に答える
339 参照

ios - NSCFString _cfurl 認識されないセレクターがインスタンスに送信されました

私は何年にもわたって Core Data を扱ってきました。現在、UIManagedDocument について詳しく知りたいと思っています。それについてもっと学ぶために、いくつかのサンプルプロジェクトを行いました。最後に、このメカニズムを実際のプロジェクトに移すことができます。既存のプロジェクトでは、現在 Core Data を実装しているので、Data Model (アプリと同じ名前) を作成しました。エンティティのクラスを生成してから、データベースにオブジェクトを追加するための簡単な方法を持つカテゴリを作成しました。最後に、UIManagedDocument のシングルトンを作成しました。今のところ、次のようになります。

共有インスタンスをインスタンス化し、prepareManagedDocument メソッドを呼び出した後、次のメッセージでクラッシュします。

興味深いことに、最初の実行時にのみクラッシュしますが、このクラッシュのために永続ストレージが作成されないため、ドキュメントなどに書き込むことができません。このコードを使用しているプロジェクトがあります。 、例外をスローしないため、永続ストアが作成され、このドキュメントに書き込むことができます。

どこが間違っていますか?

前もって感謝します!

0 投票する
1 に答える
256 参照

ios - NSManagedDocument ファイルを開けない

NSManagedDocument作成後に開こうとしています。ドキュメントを数回正常に開いた後、ドキュメントを開くことができないようです。ドキュメント名を変更するか、アプリを再度削除/コピーすると、機能します。以下のメソッドは、アプリケーションが起動するたびにアプリ デリゲートで呼び出されます。

}

0 投票する
1 に答える
110 参照

ios - シミュレーターで UIManagedDocument を開くのに時間がかかる

iPhone シミュレーターに関する問題の簡単な修正方法を探しています。

データベースにアクセスするために使用するコードは次のとおりです。

実際の iPhone では完全に動作しますが、シミュレーターでは動作しません。ラグ タイム (40 秒) は、最初の作成と既存のファイルの編集のためのものです。

「コンテンツと設定のリセット」、xcodeでのクリーン、シミュレーターでのアプリの削除+再構築を試しましたが、どれも機能しません。

次はどうする?

VB

0 投票する
1 に答える
687 参照

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