cellfusion
5/18/2013 - 2:32 PM

CoreData 使ってユニークキーもどきを NSManagedObject.valideateForInsert 内で判断してみた

CoreData 使ってユニークキーもどきを NSManagedObject.valideateForInsert 内で判断してみた

- (BOOL)validateForInsert:(NSError **)error {
  NSLog(@"validateForInsert:%@", self.id);

	NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Hoge"];
	NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K = %@", @"id", self.id];
	[fetchRequest setPredicate:predicate];

	NSArray *results = [self.managedObjectContext executeFetchRequest:fetchRequest error:nil];

	if (results.count > 0) {
		return NO;
	}

	return YES;
}