Tag: 核心数据

核心数据的NSPrivateQueueConcurrencyType和线程之间的共享对象

iOS 5引入了一种新方法,通过使用NSPrivateQueueConcurrencyType初始化MOC,然后在performBlock:执行获取,在后台线程上快速获取数据performBlock: 核心数据的经验之一就是你不能在线程/队列之间共享pipe理对象。 执行块是否仍然如此performBlock: ? 是以下几点: [context performBlock:^{ // fetch request code NSArray *results = [context executeFetchRequest:request error:nil]; dispatch_async(dispatch_get_main_queue(), ^(void) { Class *firstObject = [results objectAtIndex:0]; // do something with firstObject }); }]; 仍然无法接受,因为我在bg队列和主队列之间共享我的结果数组/对象? 我仍然需要使用托pipe对象ID来做到这一点?

不区分大小写的NSPredicate,在CoreData中单个结果

这是我现在的NSPredicate: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode]; 我如何使这种情况下不敏感? 我不想做任何部分匹配。 例如,如果他们input123为aUPCCode我不想得到123,123a,123b,123c等。 我只想要一个精确的匹配。 我想这样做,但似乎有点荒谬: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@ OR UPC==%@ OR ItemID==%@", aUPCCode,aUPCCode,[ aUPCCode lowercaseString] ,[aUPCCode lowercaseString], [aUPCCode uppercaseString],[aUPCCode uppercaseString]];

CoreData:错误:无法调用NSManagedObject类上的指定初始值设定项

我有一个与CoreData一个该死的问题。 我想插入一个新的对象,所以我首先必须创build一个。 这是由该代码完成的: Challenges *newChallenge = [[Challenges alloc] init]; [newChallenge setName:@"TestChallenge"]; [newChallenge setRounds:[[NSNumber alloc] initWithInt:12]]; [newChallenge setShots:[[NSNumber alloc] initWithInt:5]]; [newChallenge setDate:[NSDate date]]; 但是,在alloc初始化后,我得到这个错误: CoreData: error: Failed to call designated initializer on NSManagedObject class 'Challenges' 黑客出了什么问题?

如何只读取核心数据中的第一条logging?

我正在使用核心数据,我只想获取我的数据集中的第一条logging,这有可能吗?

如何查看存储在Core Data中的数据?

我正在为我的应用程序创build一个核心数据模型。 我希望能够看到里面,看看我存储在那里。 有没有比search后备存储 (我的应该是SQLite),并从那里读取更简单的方法吗? 似乎不是苹果式的。

核心数据NSFetchedResultsController – 返回的logging总数

我正在iPhone应用程序中使用NSFetchedResultsController,并想知道是否有一些简单的方法来获取所有部分返回的行数。 而不是获取[[fetchedResultsController部分]计数],然后循环通过每个部分以获得其计数,可以在一行中完成? 谢谢!

在自动代码中无效重新生成NSManagedObject Subclass Swift 3

使用Xcode的8.1版本。 在.xcdatamodeld文件中创build一个名为“MapRegionObject”的实体。 使用自动代码生成器,单击导航栏上的编辑器 – >创buildNSManagedOject子类… 有两个文件:MapRegionObject + CoreDataClass.swift和MapRegionObject + CoreDataProperties 在截图中显示两个文件中的错误:MapRegionObject + CoreDataClass.swift MapRegionObject + CoreDataProperties 请帮我修复这个bug,非常感谢你!

核心数据-existingObjectWithID:错误:导致错误133000

我的应用程序使用核心数据(有一些魔法logging的帮助),并使用NSOperation相当严重的multithreading。 当然,我非常小心只能在线程/操作之间传递NSManagedObjectID 。 现在,为了回到操作中相应的托pipe对象,我使用-existingObjectWithID:error: : Collection *owner = (Collection *)[localContext existingObjectWithID:self.containerId error:&error]; 但是我回来是零和error说这是一个错误#13300: NSManagedObjectReferentialIntegrityError 。 以下是关于这个错误的文档说明: NSManagedObjectReferentialIntegrityError Error code to denote an attempt to fire a fault pointing to an object that does not exist. The store is accessible, but the object corresponding to the fault cannot be found. 在我的情况下,这是不正确的:这个对象是存在的。 实际上,如果我用NSFetchRequest迭代那个Collection实体的所有实例,我发现它在其中,它的NSManagedObjectID正是我传递给-existingObjectWithID:error: 而且,如果我使用-objectWithID:取而代之,我得到一个正确的对象就好了。 所以有一些我错过了。 以下是一些其他意见/问题: “不存在的客体”:这句话中“存在”的含义是什么? […]

是否有可能覆盖NSManagedObject子类中的@dynamic属性的getter和setter?

所以,我的情况是这样的: 我在我的iOS应用程序中有一个NSManagedObject子类,作为一个属性,我想存储一个MKPolygon对象的内容。 我决定去做这件事(也许它是有效的也许是一个不同的问题)的方式是声明多边形属性作为一个可变形的对象,然后存储一个NSArray包含多边形的点(作为一个NSValue对象)。 为此,我在模型对象上写了几个方便的类方法: + (NSArray *)coordsArrayFromMKPolygon:(MKPolygon *)polygon pointCount:(int)count { CLLocationCoordinate2D *coords = (CLLocationCoordinate2D *)malloc(sizeof(CLLocationCoordinate2D) * count); [polygon getCoordinates:coords range:NSMakeRange(0, count)]; NSMutableArray *coordsArray = [NSMutableArray array]; for (int i = 0; i < count; i++) { NSValue *coordVal = [NSValue valueWithBytes:&coords[i] objCType:@encode(CLLocationCoordinate2D)]; [coordsArray addObject:coordVal]; } free(coords); return [NSArray arrayWithArray:coordsArray]; } + (MKPolygon *)polygonFromCoordsArray:(NSArray *)coordsArray pointCount:(int)count […]

Xcode – error:pathspec'…'与git已知的任何文件都不匹配

我正在使用本地的git回购。 当我尝试提交对核心数据模型文件(.xcdatamodel)的更改时,我收到以下消息: error: pathspec '…/DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git. 如何解决这个问题,并提交模型,因为我做任何其他文件?