私は、UIManagedDocumentの共有インスタンスを配布するヘルパークラスを持っています。アイデアは、ユーザーがディスク上の特定のファイルのUIManagedDocument共有インスタンスを要求することです。この場合、それはコアデータストアです。ユーザーが別のパスにあるコアデータストアを要求した場合は、そのファイルのUIManagedDocumentのインスタンスを配布します。クラスメソッドを使用して、UIManagedDocumentの複数の共有インスタンスをどのように配布しますか?
質問:UIManagedDocumentの新しいインスタンスを作成し、ファイルが変更されたときに静的変数に割り当てることはできますか?たとえば、次のように
+ (UIManagedDocument *)sharedManagedDocumentForFile:(NSString *)fileName
{
static UIManagedDocument *sharedDocument = nil;
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:fileName];
// url is "<Documents Directory>/<vacationName>"
// Create the shared instance lazily upon the first request.
if (sharedDocument == nil) {
sharedDocument = [[UIManagedDocument alloc] initWithFileURL:url];
}
if (sharedDocument.fileURL != url) {
UIManagedDocument *newDocument = [[UIManagedDocument alloc] initWithFileURL:url];
sharedDocument = newDocument;
}
return sharedDocument;
}
基本的に私はイベントで、私は常に変化を続ける必要はありませんコアデータストアへの複数の作家があるので、UIManagedDocumentのインスタンスを1つだけ配布されてやろうとしています同期。しかし、ディスク上に複数のコアデータストアが存在するため、毎回同じ静的変数を配布するだけではありません。
アイデア?私は絶対にこの設計問題に近づく方法でさえ固執しています...どんな助けもありがとうございます。
おかげ - ジェイク
これは必須の文章と思われます。 – PengOne
@Jave V彼が冗談を言っていたと思うよ...笑 – bschultz
「ok」と「legal」は正確に何を意味しますか? – occulus