3

Core Dataをセットアップしようとしていますが、実行saveToURLしてUIManagedDocumentいると作成に失敗します。これは私のコードです。

@property (nonatomic, strong) UIManagedDocument *currentUserDatabase;

@synthesize currentUserDatabase = _currentUserDatabase;

- (void)setCurrentUserDatabase:(UIManagedDocument *)currentUserDatabase
{
    _currentUserDatabase = currentUserDatabase;
    [self useDocument];
} 


- (void)isUserLoggedIn
{
    if (!self.currentUserDatabase) {
        NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentationDirectory inDomains:NSUserDomainMask] lastObject];
        url = [url URLByAppendingPathComponent:@"Current User Database"];
        self.currentUserDatabase = [[UIManagedDocument alloc] initWithFileURL:url];
    }
}

- (void)useDocument
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.currentUserDatabase.fileURL path]]) {
        [self.currentUserDatabase saveToURL:self.currentUserDatabase.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
            if (success) {
                NSLog(@"create success");
            } else {
                NSLog(@"create failed");
            }
            //[self getCurrentUser];
        }];
    } else if (self.currentUserDatabase.documentState == UIDocumentStateClosed) {
        [self.currentUserDatabase openWithCompletionHandler:^(BOOL success) {
            //[self getCurrentUser];
        }];
    } else if (self.currentUserDatabase.documentState == UIDocumentStateNormal) {
        //[self getCurrentUser];
    }
}

isUserLoggedIn最初に呼び出されますが、作成されると、「作成に失敗しました」というログが表示されます。エラーがないため、わかりません。エラーメッセージを取得する方法はありますか?なぜそれが機能しないのか誰もが知っていますか?

4

1 に答える 1

18

痛みが和らぎました。コードの文字を一文字ずつ読み始めなければなりません。NSDocumentationDirectoryの代わりにを使用していましたNSDocumentDirectory

于 2012-08-22T08:33:56.533 に答える