gpt4 book ai didi

objective-c - [NSFileManager copyItemAtPath :toPath:error:]: source path is nil

转载 作者:太空狗 更新时间:2023-10-30 03:56:45 25 4
gpt4 key购买 nike

我正在尝试使用以下命令将 sqlite 数据库添加到应用程序中:CoreData: Preload Data in Your iOS App

按照教程我遇到了一个问题:

[NSFileManager copyItemAtPath:toPath:error:]: source path is nil 

我使用以下代码:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (__persistentStoreCoordinator != nil) {
return __persistentStoreCoordinator;
}

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Peter_R0_1.sqlite"];

if(![[NSFileManager defaultManager] fileExistsAtPath:[storeURL path]]) {
NSString *sqlitePath = [[NSBundle mainBundle] pathForResource:@"Peter_R0_1" ofType:@"sqlite" inDirectory:nil];
NSError *anyError = nil;
BOOL success = [[NSFileManager defaultManager] copyItemAtPath:sqlitePath toPath:[storeURL path] error:&anyError];
}


NSError *error = nil;
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
{

NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}

return __persistentStoreCoordinator;

我非常感谢在这个问题上的一些帮助

最佳答案

好吧,这个错误意味着 NSString *sqlitePath== nil 所以 99% 的可能性是以下一个或多个:

  1. 文件没有添加到项目中正确的 Target
    • 通过 Peter_R0_1.sqlite 文件的文件检查器 View 下的“目标成员资格”进行验证)
  2. 和/或:您正在将文件复制到特定的子目录而不是默认目录。
    • 验证文件列在目标的“构建阶段”下的“复制捆绑资源”下,而不是在具有自定义目标或子路径的“复制文件”下。
  3. 和/或:您的文件名有错别字。

关于objective-c - [NSFileManager copyItemAtPath :toPath:error:]: source path is nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11004821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com