Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 25th, 2012  |  syntax: None  |  size: 1.07 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Updating a particular attribute of core data
  2. + (Stock *)stockForSymbol:(NSString *)symbol inManagedObjectContext:(NSManagedObjectContext *)context {
  3.   Stock *stock = nil;
  4.  
  5.   NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Stock"];
  6.   request.predicate = [NSPredicate predicateWithFormat:@"symbol = %@",symbol];
  7.   NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"symbol" ascending:YES];
  8.   request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
  9.  
  10.   NSError *error = nil;
  11.   NSArray *matches = [context executeFetchRequest:request error:&error];
  12.  
  13.   if (!matches || [matches count] > 1) {
  14.       // handle error
  15.   } else if ([matches count] == 0) {
  16.       stock = [NSEntityDescription insertNewObjectForEntityForName:@"Stock" inManagedObjectContext:context];
  17.       stock.symbol = symbol;
  18.       stock.strategyPosition = [NSNumber numberWithInt:StrategyPositionFlat];
  19.       stock.userPosition = stock.strategyPosition;
  20.       stock.userOwns = [NSNumber numberWithBool:NO];
  21.   } else {
  22.       stock = [matches lastObject];
  23.   }
  24.   return stock;
  25. }