- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已阅读I keep on getting "save operation failure" after any change on my XCode Data Model
错误代码:
This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.
(null)
(
0 CoreFoundation 0x36aeb8a7 __exceptionPreprocess + 186
1 libobjc.A.dylib 0x32f02259 objc_exception_throw + 32
2 CoreData 0x353a8fe7 -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 282
3 CoreData 0x35411287 -[NSManagedObjectContext save:] + 522
4 myshine 0x001a1e59 _mh_execute_header + 1293913
5 myshine 0x0006cacd _mh_execute_header + 27341
6 myshine 0x000aa829 _mh_execute_header + 280617
7 myshine 0x000abe07 _mh_execute_header + 286215
8 myshine 0x0009a12b _mh_execute_header + 213291
9 myshine 0x00099fb3 _mh_execute_header + 212915
10 myshine 0x0009ad9b _mh_execute_header + 216475
11 myshine 0x000978a7 _mh_execute_header + 202919
12 CoreFoundation 0x36a80533 _signalEventSync + 74
13 CoreFoundation 0x36a804e1 _cfstream_solo_signalEventSync + 76
14 CoreFoundation 0x36a80353 _CFStreamSignalEvent + 374
15 CFNetwork 0x3367b121 _ZN12SocketStream40dispatchSignalFromSocketCallbackUnlockedEP24SocketStreamSignalHolder + 24
16 CFNetwork 0x33607bb9 _ZN12SocketStream14socketCallbackEP10__CFSocketmPK8__CFDataPKv + 112
17 CFNetwork 0x33607b39 _ZN12SocketStream22_SocketCallBack_streamEP10__CFSocketmPK8__CFDataPKvPv + 64
18 CoreFoundation 0x36ac22ef __CFSocketPerformV0 + 638
19 CoreFoundation 0x36abfad3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
20 CoreFoundation 0x36abf29f __CFRunLoopDoSources0 + 214
21 CoreFoundation 0x36abe045 __CFRunLoopRun + 652
22 CoreFoundation 0x36a414a5 CFRunLoopRunSpecific + 300
23 CoreFoundation 0x36a4136d CFRunLoopRunInMode + 104
24 GraphicsServices 0x34c08439 GSEventRunModal + 136
25 UIKit 0x34ceacd5 UIApplicationMain + 1080
26 myshine 0x00069f0b _mh_execute_header + 16139
27 myshine 0x000686b0 _mh_execute_header + 9904
)
我的代码:
+ (CoreDataManager *)sharedInstance {
@synchronized(self) {
if (instance == nil) {
instance = [[CoreDataManager alloc] init];
}
}
return instance;
}
-(NSManagedObjectModel *)getmanagedObjectModel:(NSManagedObjectModel *)managedobjectModel
{
if (managedobjectModel != nil) {
return managedobjectModel;
}
// managedobjectModel = [NSManagedObjectModel mergedModelFromBundles:nil];
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"PushNoticationModel" withExtension:@"momd"];
managedobjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedobjectModel;
}
-(NSPersistentStoreCoordinator *)persistentStoreCoordinator:(NSString*)modelName
{
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSString *docs = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
@"PushNoticationModal.sqlite"
NSURL *storeUrl = [NSURL fileURLWithPath:[docs stringByAppendingPathComponent:modelName]];
NSError *error = nil;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:[self getmanagedObjectModel:self.managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
NSLog(@"persistentStoreCoordinator Error: %@,%@",error,[error userInfo]);
}
return persistentStoreCoordinator;
}
-(NSManagedObjectContext *)managedObjectContext:(NSString*)modelName
{
if (managedObjectContext != nil) {
return managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator =[self persistentStoreCoordinator:modelName];
if (coordinator != nil) {
managedObjectContext = [[NSManagedObjectContext alloc]init];
[managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return managedObjectContext;
}
-(NSManagedObjectContext *)managedObjectContext:(NSString*)modelName managedObjectContext:(NSManagedObjectContext *)managedContext
{
if (managedContext != nil) {
return managedContext;
}
NSPersistentStoreCoordinator *coordinator =[self persistentStoreCoordinator:modelName];
if (coordinator != nil) {
managedContext = [[NSManagedObjectContext alloc]init];
[managedContext setPersistentStoreCoordinator:coordinator];
}
return managedContext;
}
我用过
-(NSManagedObjectContext *)getManagedObjectContext{
return [[CoreDataManager sharedInstance] managedObjectContext:kSqlname managedObjectContext:[CoreDataManager sharedInstance].managedObjectContext];
如果我每次都需要修改kSqlname,当我的代码数据添加新字段时?例如,如果修改 sqlname:
NSURL *storeUrl = [NSURL fileURLWithPath:[docs stringByAppendingPathComponent:modelName]];
modelName 如果我需要重命名例如:version1 modelName=version1.sqlite 当我添加新字段 modelName=version2.sqlite
编辑:我认为不是在不同的线程,因为我测试了很多次没有给我错误,只有其他用户更新版本可能会给出错误
-(void)refreshData{
NSLog(@"ChatHistoryViewController2333");
isRefresh=NO;
AppDelegate *delegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
dispatch_queue_t downloadQueue = dispatch_queue_create("refresh history", NULL);
dispatch_async(downloadQueue, ^{
NSManagedObjectContext *managedObjectContext =[self getManagedObjectContext];
readArray=[[CoreDataManager sharedInstance] readEvent:@"ChatHistoryEntity" SortDescriptor:@"when" managedObjectContext:managedObjectContext];
__block NSMutableArray *chatArr=[[NSMutableArray alloc]init];
if(readArray.count>0){
for(int i=0;i<readArray.count;i++){
// ChatHistoryEntity *chatHistoryEntity=[readArray objectAtIndex:(readArray.count-i-1)];
ChatHistoryEntity *chatHistoryEntity=[readArray objectAtIndex:i];
People *people=[[People alloc]init];
people.lastActivity=chatHistoryEntity.lastChat;
people.avatarsmall=chatHistoryEntity.avatarsmall;
people.when=chatHistoryEntity.when;
people.source=chatHistoryEntity.source;
people.idName=chatHistoryEntity.idName;
people.foreignId=[NSString stringWithFormat:@"%@",chatHistoryEntity.from];
NSManagedObjectContext *managedObjectContext =[self getManagedObjectContext];
int count=[[CoreDataManager sharedInstance]Count_ChatEventEntity:chatHistoryEntity.from to:delegate.myAuraId managedObjectContext:managedObjectContext];
people.readnum=[NSString stringWithFormat:@"%d",count];
NSString *distanceStr;
if (people.lastActivity) {
distanceStr=[ModelClass CheckIsNull:people.lastActivity];
}
if (chatHistoryEntity.name) {
people.screenName=[ModelClass CheckIsNull:chatHistoryEntity.name];
}
// NSLog(@"distanceStr:%@",distanceStr);
if (distanceStr==nil||[distanceStr isEqualToString:@"(null)"]||
people.screenName==nil||[people.screenName isEqualToString:@"(null)"]){
}else{
NSLog(@"people.foreignId=%@ people.screenName=%@ people.source=%@",chatHistoryEntity.from ,chatHistoryEntity.name ,chatHistoryEntity.source);
NSLog(@"people.idName=%@",chatHistoryEntity.idName);
[chatArr addObject:people];
}
}
}
dispatch_async(dispatch_get_main_queue(), ^{
if (chatListArry) {
chatListArry=[[NSMutableArray alloc]init];
}
chatListArry=chatArr;
if ([chatListArry count]==0) {
self.tableView1.hidden=YES;
nodataView.hidden=NO;
}else{
self.tableView1.hidden=NO;
nodataView.hidden=YES;
[self.tableView1 reloadData];
}
chatArr=nil;
});
});
dispatch_release(downloadQueue);
}
最佳答案
我通过修改sql数据库文件名解决了我的问题:
NSURL *storeUrl = [NSURL fileURLWithPath:[docs stringByAppendingPathComponent:modelName]];
如果数据库被修改,modelName
应该重命名。例如在版本 1 modelName = version1.sqlite
中。然后在添加新字段后,modelName = version2.sqlite
每次在 Core Data 中添加或删除字段时,重命名 sqlite 数据库。
关于iphone - 这个 NSPersistentStoreCoordinator 没有持久存储。它不能执行保存操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15491162/
我是Hibernate的新手。当我保存特定实体时,它将从现有实体中重写数据。 我将ID用作自动生成,如下所示: @Id @GeneratedValue(strategy=GenerationType.
我正在尝试以连续模式使用CouchDB更改通知API,所以我想发送此消息 _changes?feed = continuous?include_docs = true作为GET请求到达我的CouchD
我有 XMPP 服务器(openfire)和一堆客户端(spark),分为几个组(部门)。我正在寻找能够将它们留在 session 室中的能力。我的意思是 Skype 具有的类似功能;当用户关闭带有群
我发布这个问题是为了看看我是否正确理解 Azure Functions 中的并行性,特别是 Durable Functions。 最近使用 az cli 在 Azure Functions 中添加了设
我在 Dev Env 上有一个 AKS 集群,上面运行着一些容器。我还启用了 Azure Log Analytics。但我可以看到正在运行的当前容器的日志,而不是已被终止或停止的旧容器的日志。 我想知
在 Akka 中,当一个 actor 在处理消息时死亡(在 onReceive(...) { ... } 内),该消息就会丢失。有没有办法保证无损?有一种配置 Akka 在将消息发送到 onRecei
我试图让 selectOneMany 取得有限的成功。 我有以下数据库模型 User email Text verkey Text Maybe verified Bool password T
我需要使用持久性(Yesod)从键列表中获取实体列表 假设我有一个 Model 及其相应的 ModelId。我身边有: keys :: [ModelId] 我需要得到 models :: [Model
我有一个使用 GWT、请求工厂和地点/Activity 构建的网络应用程序。我很好奇我使用的历史 token 是否持久。该任务基本上就是让 URL 定义我的网络应用程序的确切位置(读作“文件/文件夹结
我正在寻找一种 jQuery 方法来在刷新页面时使页面元素持久保留在用户屏幕上。当我刷新页面并且丢失 jQuery 页面中的内容时,它会发生变化。 我需要页面持久。如何刷新页面并保持元素不刷新(持久)
当我尝试使用 gcc 编译带有 -fopenmp 标志的 C 代码时,我已经持续收到此错误超过 6 小时了。 错误:控制谓词无效 for ( int i = 0; i #include #ifde
我有带有验证注释的实体,例如@NotNull。我不知道如何防止容器管理的事务在批量持久操作中出现 ConstraintViolationException 的情况下回滚,例如: public void
这是我的代码: http://jsfiddle.net/KCb5z/8/embedded/result/ http://jsfiddle.net/KCb5z/8/ $(function () {
我正在与服务器通信,理想情况下,我希望输入流和输出流始终处于运行状态。我收到未经请求的响应,因此我必须始终准备好接收输入流上的数据。 在我进一步深入之前,我应该说我建立的任何连接都必须能够支持 SSL
我正在寻找一种正确扩展 Azure Functions 的方法,但遇到了问题。 我有一组 IoT 设备,通过 HTTP 向 Azure 发送数据(为此,有一组自动扩展的 Azure Functions
1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态。 比如:刚刚使用new关键字创建出的对象。 2.持久态 存在于session中,事务还未提交,提交之后
我在 Kohana v2 中使用数据库 session 驱动程序。为了使 session 持久化,Kohana 创建了一个 token cookie。这个 cookie 使用了我想的 cookie 配
有谁知道是否有办法使用 PyWinrm 打开一个持久的 PowerShell session ,该 session 保持状态并且可以多次调用?我正在尝试执行以下操作: #!/bin/python im
在运行的Elasticsearch集群中,配置文件中的index.number_of_replicas设置为1。 我可以通过运行以下命令在运行的集群上将其更新为2 # curl -XPUT "http
我在“这么长的帖子必须意味着大量的代码和配置”部分下一对一地使用指南代码。 http://blog.springsource.com/2006/08/07/using-jpa-in-spring-wi
我是一名优秀的程序员,十分优秀!