【发布时间】:2015-07-11 23:29:25
【问题描述】:
我正在为现有应用程序做一个今天的扩展小部件。该应用程序将图像保存到Core Data。
这是获取请求:
- (NSArray *)pictures {
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Images"];
NSArray *fetchedObjects = [[Stack sharedInstance].managedObjectContext executeFetchRequest:fetchRequest error:nil];
[self saveToWidget]; // Method to save NSArray pictures to NSUserDefaults.
return fetchedObjects;
}
这是将 NSArray 保存到 NSUserDefaults 的方法:
- (void)saveToWidget {
NSUserDefaults *userDefaults = [[NSUserDefaults alloc]initWithSuiteName:@"group.AppJester.PicPocket"];
//save the MutableArray to NSUserdefaults
[userDefaults setObject:self.pictures forKey:@"image"];
[userDefaults synchronize];
}
重要事实
每次用户拍照并保存到应用程序时,它都会自动保存到核心数据中,为了显示在主屏幕(UICollectionView)上,我从图片中提取所有图片 数组。
NSUserDefaults 应该将图像保存到一个数组中,以便在 Widget Target 处检索并显示 Today Extension。
如果我将 [self saveToWidget] 方法添加到 fetchRequest 应用程序崩溃。我假设这是问题所在,因为如果我删除它,它工作正常。
【问题讨论】:
-
另一个重要事实可能是崩溃的实际控制台输出以及它崩溃的行...
-
@nhgrif 该应用程序不会对崩溃采取行动。模拟器崩溃了,Xcode 没有记录任何东西。我什至等了一会儿,看看是否有什么变化,什么都没有
-
重置模拟器的内容和设置再试一次?
-
@nhgrif 我已经完成了所有这些,甚至重新启动了 Xcode、计算机等......我在这里看到的是关于如何将 fetchRequest 数组保存到 NSUserDefaults 的建议
标签: ios objective-c core-data widget nsuserdefaults