如何使用NSEntityDescription加载数据?

时间:2012-07-22 08:47:17

标签: iphone ios5 xcode4.3

我是xcode的新手。我希望有人会教我更多xcode。

我正在学习核心数据,从我学到的东西,我可以使用uibutton从uitextfield保存我的数据。这是我的代码。

- (IBAction)button1:(id)sender
{
    TestSaveDataAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = [appDelegate managedObjectContext];
    Highscore *record = [NSEntityDescription insertNewObjectForEntityForName:@"Highscore" inManagedObjectContext:context];
    record.highscore1 = textField.text;
    NSLog(@"Saved for %@", textField.text);
    NSError *error;
    if (![context save:&error])
    {
        NSLog(@"Error");
    }

现在我有一个UILabel呼叫标签和旁边的按钮2。按下按钮2时如何在标签中加载数据?请教我。

我已经写过这样但我不知道怎么把它放在我的标签上。我找到的任何教程只会把它放在tableview中。我不想把它放在tableview中,我只想在我的标签中显示我的数据。

- (IBAction)button2:(id)sender
{
    TestSaveDataAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    NSManagedObjectContext *context = [appDelegate managedObjectContext];
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Highscore" inManagedObjectContext:context];
    [request setEntity:entity];
    NSError *error;
    if (![context save:&error])
    {
        NSLog(@"Error");
    }
}

1 个答案:

答案 0 :(得分:0)

您必须在请求中添加NSPredicate并执行它。

    NSPredicate *predicate = <#create your predicate here#>;
    [request setPredicate:predicate];

    NSError *error;
    NSArray *results = [context executeFetchRequest:request error:&error];
    if (error) {
        //inform user
    }
    //if you found something, you can set text for your UILabel
    if ([results count]) {
        Highscore *record = [results objectAtIndex:0];
        label.text = record.highscore1;
    }