2014-10-11 58 views
0

我已经从核心数据中提取结果,但我对如何在视图中显示提取的数据没有任何意见。大多数查询说明如何在表格视图中显示,但我需要显示在视图内的标签中。如何在标签中显示核心数据

- (IBAction)btnSubmit:(id)sender 
{ 

    AppDelegate *appDelegate = 
    [[UIApplication sharedApplication] delegate]; 

    NSManagedObjectContext *context = 
    [appDelegate managedObjectContext]; 

    NSEntityDescription *entityDesc = 
    [NSEntityDescription entityForName:@"School" 
       inManagedObjectContext:context]; 

    NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
    [request setEntity:entityDesc]; 

    NSPredicate *pred = 
    [NSPredicate predicateWithFormat:@"(mailId = %@)", 
    _txtMailId.text]; 
    [request setPredicate:pred]; 
    // NSManagedObject *matches = nil; 

    NSError *error; 
    NSArray *objects = [context executeFetchRequest:request 
               error:&error]; 

    if ([objects count] == 0) 
    { 
     _lblInvalidPswrd.alpha = 1.0; 
     _lblPassword.alpha = 0.0; 
     _lblPswrdIndication.alpha = 0.0; 

    } 
    else 
    { 
     School *info = _fetchedResultsController; 
     _lblPassword.text = info.passWord; 
     _lblPassword.alpha = 1.0; 
     _lblPswrdIndication.alpha = 1.0; 
     _lblInvalidPswrd.alpha = 0.0; 
     // matches = objects[0]; 

    } 
} 

- (NSFetchedResultsController *)fetchedResultsController 
{ 
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *context = appDelegate.managedObjectContext; 
    NSEntityDescription *entity = [NSEntityDescription 
            entityForName:@"School" inManagedObjectContext:context]; 
    [fetchRequest setEntity:entity]; 

    NSSortDescriptor *sort = [[NSSortDescriptor alloc] 
           initWithKey:@"passWord" ascending:NO]; 
    [fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]]; 
    [fetchRequest setFetchBatchSize:20]; 
    SignUpViewController *sign = [[SignUpViewController alloc]init]; 
    fetchRequest.predicate = [NSPredicate predicateWithFormat:@"(passWord = %@)",sign.txtPswrd.text]; 
    NSFetchedResultsController *theFetchedResultsController =[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:appDelegate.managedObjectContext sectionNameKeyPath:nil 
                              cacheName:nil]; // better to not use cache 
    self.fetchedResultsController = theFetchedResultsController; 
    _fetchedResultsController.delegate = self; 

    return _fetchedResultsController; 

} 

回答

0

一旦你的objects阵列从executeFetchRequest你有你需要的数据 - 你不需要FetchedResultsController。如果你感兴趣的是,第一个结果,你可以做到这一点 -

... 

NSArray *objects = [context executeFetchRequest:request 
               error:&error]; 

    if ([objects count] == 0) 
    { 
     _lblInvalidPswrd.hidden = NO; 
     _lblPassword.hidden = YES; 
     _lblPswrdIndication.hidden = YES; 

    } 
    else 
    { 
     School *info = objects[0]; 
     _lblPassword.text = info.passWord; 
     _lblPassword.hidden = NO; 
     _lblPswrdIndication.hidden = NO; 
     _lblInvalidPswrd.hidden = YES; 

    } 

    ... 

我假设School是你的NSManagedObject子类

+0

感谢它的作品好.. – 2014-10-11 07:06:43