代码之家  ›  专栏  ›  技术社区  ›  wal

使用FetchResultController获取对象和ManagedObjectContext之间的差异

  •  1
  • wal  · 技术社区  · 16 年前

    使用FetchResultController或ManagedObjectContext从核心数据获取元素有什么区别??

    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    [fetchRequest setEntity:[NSEntityDescription entityForName:@"Item" inManagedObjectContext: managedObjectContext]]; 
    
    NSSortDescriptor *sortDescriptorNameAscending = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptorNameAscending,nil];
    [fetchRequest setSortDescriptors:sortDescriptors];
    [sortDescriptorNameAscending release];
    
    NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Lists"]; 
    

    2) ManagedObjectContext

    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    [request setEntity:[NSEntityDescription entityForName:@"Item"  inManagedObjectContext:managedObjectContext]]; 
    NSError *error = nil; 
    NSArray *items = [ managedObjectContext executeFetchRequest:request error:&error]; 
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Marcus S. Zarra    16 年前

    使用 NSFetchedResultsController NSFetchRequest 是对数据的监视以及处理节时的方便方法。

    NSFETCH请求

    在处理 ,它将确定您的节,缓存结果(对该数据进行第二次请求接近瞬时),并为您的NSTableView提供方便的方法。最后,当数据更改时

        2
  •  0
  •   FKDev    16 年前

    这个 NSFetchedResultsController NSFetchedResultsControllerDelegate 协议)。