iOS - 我的 iPad 故事板上的详细视图未填充

Posted

技术标签:

【中文标题】iOS - 我的 iPad 故事板上的详细视图未填充【英文标题】:iOS - The detail view on my iPad storyboard is not getting populated 【发布时间】:2014-08-28 15:04:55 【问题描述】:

叹息,关于这个问题有一百万个问题,但没有一个对我有用。所以:

我的应用在 iPhone 上运行良好。我有一个 tableView,当我 segue 时,数据移动得很好。

对于 iPad,我没有在 splitView 中获取详细数据。但是当我记录 detailView 对象时,我看到以下内容:

2014-08-28 17:44:26.298 GuessGreek[59754:607] -[WordViewController tableView:didSelectRowAtIndexPath:]
2014-08-28 17:44:26.299 GuessGreek[59754:607] -[WordDetailsViewController viewDidLoad]
2014-08-28 17:44:26.300 GuessGreek[59754:607] detailItem 1<WordEntity: 0x786853e0> (entity: WordEntity; id: 0x78685810 <x-coredata://B2B61C41-1855-46EB-AA5E-04697CA6B025/WordEntity/p1454> ; data: 
    category = uncategorized;
    changeFlag = nil;
    englishScore = 0;
    englishText = "unmarried, single";
    example = nil;
    favorite = nil;
    greekScore = 0;
    greekText = "\U03ac\U03b3\U03b1\U03bc\U03bf\U03c2-\U03b7-\U03bf";
    type = Adjective;
    uid = 1454;
)

2014-08-28 17:44:26.302 GuessGreek[59754:607] 1 greekTextField: (null)
2014-08-28 17:44:26.303 GuessGreek[59754:607] 1 englishTextField: (null)

详细信息对象看起来已填充,但是当我记录单个组件时,它们是空白的。

我的代码如下:

WordView

//ipad

> -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
>     if (_IPAD) 
>     
>         id object;
>         if (self.searchResults.count > 0)
>         
>             object = [self.searchResults objectAtIndex:indexPath.row];
>             [self.searchDisplayController setActive:NO];
>         
>         else
>         
>             object = [self.fetchedResultsController objectAtIndexPath:indexPath];
>             
>         
>         
>         wordDetailsViewController.detailItem = object;
>         [wordDetailsViewController viewDidLoad];
>        
>      

//iPhone

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

    if ([segue.identifier isEqualToString:@"wordToDetails"])

        NSIndexPath *indexPath = [self.searchDisplayController.searchResultsTableView indexPathForCell:(UITableViewCell *)sender];

        id object;
        if (indexPath != nil)
        
            object = [self.searchResults objectAtIndex:indexPath.row];
            [self.searchDisplayController setActive:NO];
        
        else
        
            indexPath = [self.wordTable indexPathForCell:(UITableViewCell *)sender];
            object = [self.fetchedResultsController objectAtIndexPath:indexPath];

        


        WordDetailsViewController *destinationController = segue.destinationViewController;

        destinationController.detailItem = object;

   

DetailView - viewDidLoad

    NSLog(@"detailItem 1%@", detailItem);
self.greekTextField.text = [self.detailItem valueForKey:@"greekText"];
    self.englishTextField.text = [self.detailItem valueForKey:@"englishText"];

如果有任何帮助/建议,我将不胜感激。

【问题讨论】:

【参考方案1】:

如果您使用核心数据的@dynamic 属性会怎样?

self.greekTextField.text = self.detailItem.greekText;    
self.englishTextField.text = self.detailItem.englishText;

【讨论】:

谢谢。 detailItem 是一个托管对象。这是您的意思吗? 我不认为我理解你。但你是对的,我记录了错误的对象......谢谢

以上是关于iOS - 我的 iPad 故事板上的详细视图未填充的主要内容,如果未能解决你的问题,请参考以下文章

故事板上的侧边栏导航菜单

如何从位于故事板上的视图控制器获取子视图

故事板上的 Xcode 9 和 9.1 选择的设备会影响部署设备上的视图宽度

需要帮助在故事板上的 UIScrollView / UIPageControl 中推送视图

UIButton 不在故事板上的同一个地方

故事板上的 ZXing 图书馆