2014-08-28 2 views
0

Вздох, Есть миллион вопросов о SO об этом, но никто не работает для меня .. Итак:IOS - мнение подробно на моем IPad раскадровке не получает заселена

Мое приложение работает отлично для iPhone. У меня есть tableView, и когда я перехожу, данные перемещаются отлично.

Для 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

Что делать, если вы используете @динамические свойства Core data?

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

Спасибо. detailItem - управляемый объект. Это то, что вы имели в виду? –

+0

Не думаю, что я тебя понял. Но вы были правы, и я регистрировал неправильные объекты ... Спасибо –

Смежные вопросы