在 UITextView 中显示从 UITableView 中选择的 CoreData 值

Posted

技术标签:

【中文标题】在 UITextView 中显示从 UITableView 中选择的 CoreData 值【英文标题】:Display selected CoreData value from UITableView in UITextView 【发布时间】:2015-05-30 09:06:29 【问题描述】:

我有一个TableViewController,它获取CoreData。此外,如果我单击一个单元格,它会转到DetailViewController。但我不知道如何在所述DetailViewController 中选定行的UITextView 中显示值。

AppDelegate *delegate = [[UIApplication sharedApplication]delegate];
_managedObjectContext  = delegate.managedObjectContext;

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"Note"];
_fetchedResultsController = [[NSFetchedResultsController alloc]initWithFetchRequest:fetchRequest managedObjectContext:_managedObjectContext sectionNameKeyPath:nil cacheName:nil];

[_fetchedResultsController setDelegate:self];
NSError *error = nil;
[_fetchedResultsController performFetch:&error];
if (error) 
    NSLog(@"Unable to perform Fetch");
    NSLog(@"%@, %@", error, error.localizedDescription);
    
    
    NSArray *objects = [_managedObjectContext executeFetchRequest:fetchRequest error:&error];

如何显示该值以及如何确保显示的值是我在TableViewController 中选择的值?

【问题讨论】:

很抱歉,有大量关于此的分步指南 答案是否有助于解决您的问题。 【参考方案1】:

您不必在 detailViewController 中获取任何内容,因为 tableViewController 已经拥有该对象。只需将文本(或对象)传递给详细视图控制器。

向您的 detailViewController 添加一个属性。 (它可以是 NSString 或 NSManagedObject 实体。)

@property (nonatomic, strong) NSString *detailText

prepareForSegue:sender: 中,将detailViewController 的属性设置为与所选行关联的NSManagedObject 的(文本字符串):

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)__unused sender

    if ([[segue identifier] isEqualToString:@"showDetail"])
    
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSManagedObject *object = [[self fetchedResultsController] objectAtIndexPath:indexPath];
        DetailViewController *controller = (DetailViewController *)[[segue destinationViewController] topViewController];
        controller.detailText = [object valueForKey:@"myTextProperty"];
    

在详细视图控制器中,将文本分配给UITextView

myTextview.text = self.detailText;

【讨论】:

以上是关于在 UITextView 中显示从 UITableView 中选择的 CoreData 值的主要内容,如果未能解决你的问题,请参考以下文章

在 UITextView 中显示从 UITableView 中选择的 CoreData 值

如何从 NSDictionary 将 json 显示到 uitextview

为啥我的 UITextView 文本从开始时不显示并隐藏在导航栏下

以编程方式在 UITableViewCell 下添加 UITextView 和 UIImageView Swift 4

当用户选择 UITable 行时显示等待屏幕

将 UITable 行号从大到小反转(...5,4,3,2,1)