我有一个使用UIManagedDocument构建的Core Data数据库,我将其加载到a中,UITableView
并在图表上绘制该数据的某些点.我发现当我向数据库添加一个对象或从数据库中删除一个对象然后获取数据时NSFetchRequest
,即使我在请求中有一个排序描述符,返回的数组也没有排序.有趣的是,如果我等待几秒钟然后获取/重新获取数据,它现在会重新排序.我想我一定是做错了.我是否应该从Core Data中使用某种回调来了解数据库更改是否已完成?这很奇怪,因为所有数据总是在数据库中,只是没有排序.我对它没有超级经验,所以我不确定.
这是我的获取请求中的代码:
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"FuelPurchase"];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dateTimeStamp" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSError *error = nil;
[self.fuelPurchaseDatabase.managedObjectContext executeFetchRequest:request error:&error];
Run Code Online (Sandbox Code Playgroud) 我试图将项目文件夹中的文件移动到另一个文件夹,一切正常,但Xcode现在无法找到我的Info.plist文件.这是我得到的错误.
could not read data from '/Users/jamiefraser/Developer/CocoaTouch Apps/MyApp/MyApp/MyApp/MyApp-Info.plist': The file “MyApp-Info.plist” couldn’t be opened because there is no such file.
Run Code Online (Sandbox Code Playgroud)
实际的文件位置是
'/Users/jamiefraser/Developer/CocoaTouch Apps/MyApp/MyApp/MyApp-Info.plist'
Run Code Online (Sandbox Code Playgroud)
我检查了项目的构建设置,然后阅读
MyApp/MyApp-Info.plist
Run Code Online (Sandbox Code Playgroud)
我已经尝试删除构建文件夹并清理项目,但我总是得到同样的错误.我感谢您提供的任何帮助
在我保留的一个属性的getter中,我为我的模型对象("models")分配并分配了一个NSArray.然后我使用"sortedArrayUsingSelector:"方法对NSArray进行排序.根据文档,这将返回一个自动释放的NSArray.然后我将其重新分配给我的"模型"数组.
起初,我从未保留过这个自动释放的排序数组,并发现当我将这个viewController从堆栈中弹出时,我的应用程序会崩溃,说我试图减少释放对象或某种类型的引用计数.然后我在下面的代码中添加了一个retain,一切都没问题.
我的问题是,这是正确的,我应该保留自动释放的对象,即使我在其声明中保留此属性并在我的dealloc中释放它?
- (NSArray *)models {
if (!models) {
models = [[NSArray alloc] initWithArray:[self.modelDictionary allKeys]];
models = [[models sortedArrayUsingSelector:@selector(compare:)] retain];
}
return models;
Run Code Online (Sandbox Code Playgroud)
}
是否可以在MKmapview上添加多个引脚?.我添加了一个并完成了注释,我希望在MKMapview.Pls上添加多个引脚帮助我.
iphone ×4
ios ×3
autorelease ×1
core-data ×1
mkmapview ×1
objective-c ×1
properties ×1
retain ×1
xcode ×1