簡體   English   中英

如何在標簽中顯示核心數據

[英]How to display core data in a label

我已經從核心數據中獲取了結果,但是我對如何在視圖中顯示獲取的數據一無所知。 大多數查詢都說如何在表格視圖中顯示,但是我需要在視圖內的標簽中顯示。

- (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;

}

executeFetchRequest獲得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子類

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM