タグ付けされた質問 「core-data」

Core Dataは、iOS、iPadOS、tvOS、watchOS、およびmacOS用のアップルのオブジェクトモデリングおよび永続化フレームワークです。Xcodeは、エンティティ、属性、および関係を指定するためのオブジェクトモデルエディターを提供します。

25
コアデータ:エンティティのすべてのインスタンスを削除する最も簡単な方法
Core Dataを使用して、Webサービス呼び出しの結果をローカルに永続化しています。Webサービスは、「車」などの完全なオブジェクトモデルを返します。そのうちの約2000になる可能性があります(Webサービスが1台またはすべての車より少ないものを返すようにすることはできません)。 次にアプリケーションを開いたときに、すべての車のWebサービスを再度呼び出して、コアデータの永続化されたコピーを更新したいのですが、重複を防ぐために、最初にローカルキャッシュのすべてのデータを消去する必要があります。 管理オブジェクトコンテキスト内の特定のエンティティのすべてのインスタンス(たとえば、タイプ「CAR」のすべてのエンティティ)を削除するより速い方法はありますか、またはそれらを呼び出してクエリし、結果を反復してそれぞれを削除してから保存する必要がありますか? 理想的には、エンティティがBlahであるすべてを削除すると言うことができます。

25
NSOrderedSetで生成されたアクセサで例外がスローされました
私のLionアプリには、次のデータモデルがあります。 subitems内部の関係Item は順序付けられています。 Xcodeの4.1(ビルド4B110)は私のためにファイルを作成しましたItem.h、Item.m、SubItem.hとSubItem.h。 以下が(自動生成された)の内容ですItem.h。 #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class SubItem; @interface Item : NSManagedObject { @private } @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSOrderedSet *subitems; @end @interface Item (CoreDataGeneratedAccessors) - (void)insertObject:(SubItem *)value inSubitemsAtIndex:(NSUInteger)idx; - (void)removeObjectFromSubitemsAtIndex:(NSUInteger)idx; - (void)insertSubitems:(NSArray *)value atIndexes:(NSIndexSet *)indexes; - (void)removeSubitemsAtIndexes:(NSIndexSet *)indexes; - (void)replaceObjectInSubitemsAtIndex:(NSUInteger)idx withObject:(SubItem …
364 cocoa  core-data  xcode4 

4
コアデータとSQLite 3 [終了]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 私はすでにリレーショナルデータベースに精通しており、過去にSQLite(および他のデータベース)を使用しました。ただし、Core Dataには一定の魅力があるため、次のアプリケーションで使用するために学ぶために少し時間を費やすことを検討しています。 SQLiteを介してCore Dataを使用するメリットはありますか?それぞれの長所/短所は何ですか? SQL Serverデータベースを選択する代わりに、AppleがMail.appやiPhoto.appなどの主要なアプリケーションの多くにコアデータを使用しない場合、コアデータを学習するコストを正当化するのは難しいと思います。SQLiteはiPhoneでも広く使用されています。 両方の使用に慣れている人は、自分の経験についてコメントできますか?おそらく、ほとんどのことと同様に、問題はどちらか一方を単に使用するよりも深いですか?
314 cocoa  macos  core-data  sqlite 

8
iPhoneコアデータをWebサーバーと同期し、他のデバイスにプッシュする方法 [閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する 私は、iPhoneアプリケーションに格納されているコアデータをiPadやMacなどの複数のデバイス間で同期する方法に取り組んでいます。iOSのCore Dataで使用する同期フレームワークは(もしあれば)多くはありません。しかし、私は次の概念について考えていました。 ローカルコアデータストアが変更され、変更が保存されます。(a)デバイスがオンラインの場合、変更セットを送信したデバイスのデバイスIDを含め、変更セットをサーバーに送信しようとします。(b)チェンジセットがサーバーに到達しない場合、またはデバイスがオンラインでない場合、アプリは変更セットをキューに追加して、オンラインになったときに送信します。 クラウド内にあるサーバーは、受信した特定の変更セットをマスターデータベースとマージします。 変更セット(または変更セットのキュー)がクラウドサーバーにマージされると、サーバーは、なんらかのポーリングシステムを使用して、サーバーに登録されている他のデバイスにすべての変更セットをプッシュします。(私はAppleのPushサービスを使用することを考えましたが、コメントによると、これは実行可能なシステムではないようです。) 私が考えなければならない空想はありますか?ObjectiveResource、Core Resource、RestfulCoreDataなどのRESTフレームワークを見てきました。もちろん、これらはすべてRuby on Railsで動作しますが、私はこれに縛られていませんが、それは出発点です。私のソリューションに対する主な要件は次のとおりです。 メインスレッドを一時停止せずに、変更をバックグラウンドで送信する必要があります。 使用する帯域幅はできるだけ少なくする必要があります。 私はいくつかの課題について考えました: さまざまなデバイス上のさまざまなデータストアのオブジェクトIDがサーバーに接続されていることを確認します。つまり、データベースに格納されているオブジェクトへの参照を介して関連付けられているオブジェクトIDとデバイスIDのテーブルがあります。レコード(DatabaseId [このテーブルに対して一意]、ObjectId [データベース全体のアイテムに対して一意]、Datafield1、Datafield2)を作成し、ObjectIdフィールドは別のテーブルAllObjects:(ObjectId、DeviceId、DeviceObjectId)を参照します。次に、デバイスが変更セットをプッシュすると、ローカルデータストア内のコアデータオブジェクトからデバイスIDとオブジェクトIDが渡されます。次に、クラウドサーバーはAllObjectsテーブルのobjectIdおよびdevice Idをチェックし、変更するレコードを初期テーブルで見つけます。 すべての変更にはタイムスタンプを付けて、マージできるようにする必要があります。 デバイスは、バッテリーを使いすぎずにサーバーをポーリングする必要があります。 ローカルデバイスは、サーバーから変更を受け取った場合、またはそのときに、メモリに保持されているものを更新する必要もあります。 他にここで見逃しているものはありますか?これを可能にするには、どのようなフレームワークに注目すべきですか?

30
コアデータのすべてのエントリを削除/リセットしますか?
Core Dataに保存されているすべてのエントリを削除する方法を知っていますか?私のスキーマは変わらないはずです。空白にリセットしたいだけです。 編集する ユーザーが基本的にresetボタンを押すことができるように、これをプログラムで行うことを考えています。


25
ストアを開くために使用されるモデルは、ストアを作成するために使用されるものと互換性がありません
Xcode 3.2でCore Dataモデルを作成し、Xcode 4.2でアップグレードした後、NSManagedObjectサブクラスの新しいエンティティを追加しました(新しいエンティティを参照)。 まず、古いグループと同じグループではないため、奇妙に見えます。ここに私のxcode 4.2の写真があります(AlkitabDBはxcode 3.2で作成したもので、EndeDBは現在のxcodeバージョン(4.2)からの新しいものです: 2つ目は、そのままにして、最初のエンティティ(古いエンティティ)と同じ方法で2番目のエンティティ(新しいエンティティ)にアクセスすると、タイトルのエラーが表示されます。 ここにエラーがあります: 2012-01-16 21:13:38.496 iHuria[55953:207] Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0x8829cd0 {metadata=<CFBasicHash 0x882a370 [0x1839b38]>{type = immutable dict, count = 7, entries => 2 : <CFString 0x8829b90 [0x1839b38]>{contents = "NSStoreModelVersionIdentifiers"} = <CFArray 0x8829ff0 [0x1839b38]>{type = immutable, …
181 ios  iphone  core-data 

2
ベストプラクティス?-コアデータエンティティ属性としての配列/辞書[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する Core Dataは初めてです。コレクションタイプは属性タイプとして使用できないことに気づきました。配列/辞書タイプのデータを属性として保存する最も効率的な方法は何かを知りたいと思います(たとえば、番地、都市などの住所を構成する要素は、個別のエンティティを必要とせず、個別の属性/フィールドよりも辞書/配列としてより便利に保存されます)。ありがとうございました。


7
保存中のiphone Core Data Unresolvedエラー
保存しようとするとコアデータから奇妙なエラーメッセージが表示されますが、エラーを再現できないという問題があります(さまざまなタスクを実行すると、さまざまなタイミングで表示されます) エラーメッセージ: Unresolved error Domain=NSCocoaErrorDomain Code=1560 UserInfo=0x14f5480 "Operation could not be completed. (Cocoa error 1560.)", { NSDetailedErrors = ( Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x5406d70 "Operation could not be completed. (Cocoa error 1570.)", Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x14f9be0 "Operation could not be completed. (Cocoa error 1570.)" ); } エラーを生成するメソッドは次のとおりです。 - (IBAction)saveAction:(id)sender { NSError …


8
すべてのコアデータリレーションシップにはインバースが必要ですか?
2つのエンティティクラスがあるSocialAppとします。SocialAppType でSocialApp:私は1つの属性持っているappURLと1人の関係を:type。 でSocialAppType、私は3つの属性を持っている:baseURL、nameとfavicon。 SocialApp関係の宛先typeは、の単一のレコードですSocialAppType。 例として、複数のFlickrアカウントの場合、多数のSocialAppレコードがあり、各レコードには個人のアカウントへのリンクが保持されます。SocialAppType「Flickr」タイプには、すべてのSocialAppレコードが指す1つのレコードがあります。 私はこのスキーマを使用してアプリケーションを構築するとの間には逆相関がないことを、私は警告を受けるSocialAppTypeとはSocialApp。 /Users/username/Developer/objc/TestApp/TestApp.xcdatamodel:SocialApp.type: warning: SocialApp.type -- relationship does not have an inverse 私は逆が必要ですか、そしてなぜですか?

11
UISearchDisplayController / UISearchBarでNSFe​​tchedResultsController(CoreData)をフィルタリングする方法
CoreDataベースのiPhoneアプリに検索コードを実装しようとしています。どうすればいいのかわかりません。アプリには、プライマリTableViewのデータを取得するための述語を持つNSFetchedResultsControllerがすでにあります。あまりにも多くのコードを変更する前に、正しい方向に進んでいることを確認したいと思います。例の多くがCoreDataではなく配列ベースであるため、混乱しています。 ここにいくつかの質問があります: 一致するアイテムのみを取得する2番目のNSFetchedResultsControllerが必要ですか、それともプライマリTableViewと同じものを使用できますか? 同じものを使用する場合、FRCキャッシュをクリアしてから、handleSearchForTerm:searchStringメソッドの述語を変更するだけの簡単な方法ですか。述語には、最初の述語と検索語を含める必要がありますか、それとも、最初に述語を使用してデータを取得したことを覚えていますか? 元の結果に戻すにはどうすればよいですか?検索述語をnilに設定するだけですか?そもそも、FRCの結果を取得するために使用された元の述語を殺してしまうのではないでしょうか。 FRCでの検索を使用したコードの例を誰かが持っている場合、私はそれを大いに感謝します!

13
既存のiPhoneプロジェクトにコアデータを追加する
既存のiPhoneプロジェクトにコアデータを追加したいのですが、それでも多くのコンパイルエラーが発生します。 - NSManagedObjectContext undeclared - Expected specifier-qualifier-list before 'NSManagedObjectModel' - ... Core Data Frameworkは既にターゲットに追加されています(「ターゲット」、「追加」、「既存のフレームワーク」、「CoreData.framework」の下でプロジェクトを右クリックします)。 私のヘッダーファイル: NSManagedObjectModel *managedObjectModel; NSManagedObjectContext *managedObjectContext; NSPersistentStoreCoordinator *persistentStoreCoordinator; [...] @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; 何が欠けていますか?新しいプロジェクトを開始することはオプションではありません... どうもありがとう! 編集 申し訳ありませんが、実装方法は、「のようなコンパイルエラーでいっぱいです...私はそれらの実装を持っている...しかし、ライブラリが欠落しているように思えるmanagedObjectContext undeclared」、「NSPersistentStoreCoordinator undeclared「の前に『)』予想されるが、またして」NSManagedObjectContext(」それが、括弧が正しいようです)... #pragma mark - #pragma …
138 ios  core-data 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.