2013-03-21 4 views
0

Код для Tableview:навигационный контроллер не передавая данные из Tableview в ViewController

-(void)tableView:(UITableView *)tableView didselectRowAtIndexPath:(NSIndexPath *)indexPath{ 

    ViewControllerDisplayMsg *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"viewController3"]; 


    cellvalue=[array objectAtIndex:indexPath.row]; 
    detail.DisplayMsgString = cellvalue; 
    [self.navigationController pushViewController:detail animated:YES]; 

    } 

код в viewController3:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.DisplayMsgLabel.text= self.DisplayMsgString; 

} 

Код выше не передавая ее ТпустуюУ когда viewcontroller3 открыт. Почему данные не передаются. Какой код отсутствует?

Пожалуйста, помогите мне. Внимательно оцените помощь.

Спасибо заранее.

+0

Вы создали свойство DisplayMsgString в ViewControllerDisplayMsg и правильно его синтезировали? – Dilip

+0

Привет, сэр. ** @ свойство (сильное, неатомическое) IBOutlet UILabel * DisplayMsg; ** ** @ свойство (сильное, неатомическое) NSString * DisplayMsgString; ** Вот как он выглядит .h и я не был синтезирован, поскольку он автосохраняется RIght в ios6.1 xcode 4.6? –

+0

Нет, это нормально, вам не нужно делать синтез в ios 6.1 – Dilip

ответ

3

Вы использовали

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{ 

     } 

Это

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

     } 

Я надеюсь, что вы набрали его по ошибке, пожалуйста, поделитесь своим результатом, если это что-то другое, чем это

+0

Я сделал вышеупомянутые изменения, но все еще его пустые ??? Я не имею понятия почему ? –

+0

Ват пуст? задали ли вы делегат в своем табличном представлении, просто попробуйте добавить NSLog внутри вашего didSelectRowAtIndexPath –

+0

Извините за поздний ответ. label в другом контроллере, который должен установить текстовое значение значения массива, выбранного в этой строке, пуст. У меня есть добавлен журнал в didSelectRowAtIndexPath, его рабочий режим. У меня есть значение, но оно не переносится на другой контроллер. –

0

Поскольку я имел SEGUE с доски объявлений Метод didselect так и не был вызван -

(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // test segue.identifier if needed 
    ViewControllerDisplayMsg *viewController = segue.destinationViewController; 
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
    // set properties of viewController based on selection indexPath 


    cellvalue=[array objectAtIndex:indexPath.row]; 

    NSLog(@"str : %@",cellvalue); 
    viewController.DisplayMsgtext = cellvalue; 

}

Это сработало отлично. Я должен проверить его, если это правильный способ реализации, но в остальном он работает отлично.

+0

для вашего лучшего понимания, пожалуйста, ознакомьтесь с этим http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2 –

+0

Я начал кодировать таблицу с самого сайта, но они не интегрированы код с json и пользовательской ячейкой и раскадровкой. Это не совсем то, что я искал. Но спасибо за вашу поддержку и мотивацию. Приветствия. –

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