簡體   English   中英

從數據核心ios獲取數據

[英]fetching data from data core ios

我正在使用ios應用程序,當單擊添加按鈕時,它會將我帶到另一個視圖控制器以填寫我的信息並將其保存在核心數據中,如何獲取此數據並將其發布到Tableview中有任何幫助?

保存數據(在您從中獲取數據的視圖控制器中)

在您的.m文件中添加

- (NSManagedObjectContext *)managedObjectContext
{
    NSManagedObjectContext *context = nil;
    id delegate = [[UIApplication sharedApplication] delegate];
    if ([delegate performSelector:@selector(managedObjectContext)]) {
        context = [delegate managedObjectContext];
    }
    return context;
}

然后在您的保存操作中添加

- (IBAction)savePressed:(id)sender
{
    NSManagedObjectContext *context = [self managedObjectContext];

        NSManagedObject *newData = [NSEntityDescription insertNewObjectForEntityForName:@"StoredData" inManagedObjectContext:context];

        [newData setValue:textField.text forKey:@"dataattribute"];

    NSError *error = nil;

    if (![context save:&error]) {
        NSLog(@"Save Failed! %@ %@", error, [error localizedDescription]);
    }

}

在您的表視圖控制器中

- (NSManagedObjectContext *)managedObjectContext
{
    NSManagedObjectContext *context = nil;
    id delegate = [[UIApplication sharedApplication] delegate];
    if ([delegate performSelector:@selector(managedObjectContext)]) {
        context = [delegate managedObjectContext];
    }
    return context;
}

在您看來確實出現了

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    NSManagedObjectContext *moc = [self managedObjectContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"entityName"];
    arrayData = [[moc  executeFetchRequest:fetchRequest error:nil] mutableCopy];


    [self.tableView reloadData];
}

並在您的cellForRowAtIndexPath中

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *cellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];

    // Configure the cell...
    NSManagedObject *data = [arrayData objectAtIndex:indexPath.row];

    [cell.textLabel setText:[NSString stringWithFormat:@"%@", [data valueForKey:@"dataattribute"]]];

    return cell;
}

暫無
暫無

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

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