NSPersistentStoreCoordinatorクラス

2011. 03. 21
●概要

NSPersistentStoreCoordinatorのインスタンスは、(種類別の)永続ストアとモデル(より正確に言うとモデルの設定)を関連付けし、永続ストアまたはストアと管理オブジェクトコンテキストまたはコンテキストの間を仲介する役割を果たします。

NSManagedObjectContextのインスタンスは、永続ストアへのオブジェクトグラフの保存や、モデル情報の取得にコーディネータを使用します。

コンテキストはコーディネータ無しには完全に機能せず、コーディネータを通さなければモデルにアクセスできません。

コーディネータは、永続ストアのグループを集合したストアとして表し、管理オブジェクトコンテキストへの入口を提示するように設計されています。

管理オブジェクトコンテキストは、コーディネータが扱う全てのデータストアをまとめ、それを基礎にオブジェクトグラフを生成することができます。

コーディネータは、それと同時にシリアライズ処理も提供します。

複数のスレッドで異なる書き込み処理を行う場合は、複数のコーディネータを使用してください。

コーディネータで複数スレッドを直接処理する場合、明示的にロックとアンロックをする必要があることに注意してください。

各コーディネータ(とそのコンテナ)は管理オブジェクトコンテキストの異なるコピーを使用するため、異なるバージョンになる可能性があります。

これによりファイルのバージョン管理を正確に処理することができます。

コーディネータは、その基礎となるオブジェクトストアへアクセスすることができます。

オブジェクトストアを取得するには、最初に(addPersistentStoreWithType:configuration:URL:options:error:を使用して)、またはpersistentStoreForURL:persistentStoresを使用して追加します。

これらは例えばストアが既に追加されている、または同じストアから2つのオブジェクトを取得する場合によって決定されます。

・ある場所からストアを移動する、またはストアのタイプを変更する場合
 migratePersistentStore:toURL:options:withType:error:

・永続ストアコーディネータを使用して、指定したストアからメタデータを設定する場合
 setMetadata:forPersistentStore:

これらのタスクの詳細については、『Core Dataプログラミングガイド』の『永続ストアの使い方』を参照してください。



●タスク

●登録されたストアのタイプ

+ registeredStoreTypes
+ registerStoreClass:forStoreType:

●コーディネータの初期化

– initWithManagedObjectModel:
– managedObjectModel

●永続ストアの設定

– addPersistentStoreWithType:configuration:URL:options:error:
– setURL:forPersistentStore:
– removePersistentStore:error:
– migratePersistentStore:toURL:options:withType:error:
– persistentStores
– persistentStoreForURL:
– URLForPersistentStore:

●ロッキング

– lock
– tryLock
– unlock

●メタデータの処理

– metadataForPersistentStore:
– setMetadata:forPersistentStore:
+ setMetadata:forPersistentStoreOfType:URL:error:
+ metadataForPersistentStoreOfType:URL:error:

●オブジェクトIDの検出

– managedObjectIDForURIRepresentation:



●クラスメソッド



●インスタンスメソッド

addPersistentStoreWithType:configuration:URL:options:error:

- (NSPersistentStore *)addPersistentStoreWithType:(NSString *)storeType configuration:(NSString *)configuration URL:(NSURL *)storeURL options:(NSDictionary *)options error:(NSError **)error

指定した場所にある指定した型の新しい永続ストアを追加し、新しいストアを返します。

戻り値は新しく生成されたストア、またはエラーが発生した場合はnilを返します。

storeType:ストア型を指定する文字列定数(例えばNSSQLiteStoreTypeなど)を指定します。
(可能な値は『Store Types』を参照してください)

configuration:新しいストアによって使用される、レシーバの管理オブジェクトモデル内の構成の名前を指定します。

storeURL:永続ストアのファイルの場所を指定します。

options:ストアを読み込みのみにするかどうかと、(XMLストアの場合は)読み込む前にXMLファイルがDTDに対して検証するかどうかを指定するキー値ペアを含む辞書を指定します。
キーの定義については『Store Options』と『Migration Options』を参照してください。
この値はnilの場合があります。

error:新しいストアが生成できない場合に、問題を説明するNSErrorのインスタンスを含めて返します。


initWithManagedObjectModel:

- (id)initWithManagedObjectModel:(NSManagedObjectModel *)model

管理オブジェクトモデルを含むレシーバを初期化します。

戻り値はmodelを含む初期化されたレシーバです。

model:管理オブジェクトモデルを指定します。


managedObjectModel

- (NSManagedObjectModel *)managedObjectModel

レシーバの管理オブジェクトモデルを返します。



●定数

Store Types

永続ストアの型です。

NSString * const NSSQLiteStoreType;
NSString * const NSBinaryStoreType;
NSString * const NSInMemoryStoreType;

NSSQLiteStoreType
SQLiteデータベースのストア型。

NSBinaryStoreType
バイナリのストア型。

NSInMemoryStoreType
インメモリのストア型。



●通知



参考文献

NSPersistentStoreCoordinator Class Reference

Wikipedia/Document Type Definition






Bose SoundSport wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
02 | 2017/03 | 03
Sun Mon Tue Wed Thu Fri Sat
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
Recent Articles
iTunes


Swift
Categories
Tips
WACOM


Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
BOSE

Bose SoundSport wireless headphones
ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
SQLite
OpenGL ES
Amazon


Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Profile

Author:水月杏香
永遠の初心者プログラマ。

QR Code
QR
Visitors