2013-11-07 4 views
1

У меня есть два контроллера вида: MainScreenViewController и TargetScreenViewController;Как отправить некоторое значение другому контроллеру представления при выборе ячейки?

В MainScreenViewController У меня есть UITableView с пользовательскими ячейками, в TargetScreenViewController У меня есть ярлык, который мне нужно изменить.

Мне нужно получить некоторое значение, например, путь индекса и передать его до TargetScreenViewController и изменить метку на основе этого значения.

Я уже настроил push segue в Triggered Segues в ячейке, но как я могу передать какое-то значение и получить его там?

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

    TargetView *target = [[TargetView alloc]initWithNibName:@"TargetView" bundle:nil]; 

    NSString *data = @"Success"; 

    target.incomingData = data; 

} 

в TargetView:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.mLabel.text = self.incomingData; 
} 

но этикетка пустой = [

+0

взглянуть на http://stackoverflow.com/questions/7864371/ios5-how-to-pass- prepareforsegue-an-object – KIDdAe

ответ

0

попробовать это .....

1.Create свойство в контроллере целевого вида.

2.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     targetviewcontroller * obj = create object here . 
     obj.property = dataToBeSent ; 

     --------------- 
} 

, то вы получите ваши данные путем доступа к собственности

+0

Не помогает = (ничего в 'obj.property' после того, как я открыл Target View –

+0

, вы можете поделиться еще одним кодом –

+0

Я добавил код в свой вопрос, посмотрите –

0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    Class *yourObject=[self.arr objectAtIndex:indexPath.row]; 

    TargetView *vc=[[TargetView alloc] initWithNibName:@"TargetView" bundle:nil]; 

    vc.object=yourObject; //Create a p 

    [self.navigationController pushViewController:vc animated:YES]; 

} 

В вашем TargetView

-(void)viewDidLoad{ 

    self.lbl.text=self.object.value; 

} 
+0

Сокрушить, если я это сделаю '[self.navigationController pushViewController: vc animated: YES];' –

0

Вы можете сделать уведомление и сообщение с объектом. Объект, который вам нужно отправить второму контроллеру.

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