如何将值传递回viewController

时间:2015-03-11 11:38:02

标签: ios objective-c

如何将值从viewController B传递给ViewController A。

例如,用户从ViewController A单击,然后导航到ViewController B。

现在,我想将VIewController B中的值传递给VIewController A.

我该怎么做。

在VIewController B中

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

    AVC *avc=[[AVC alloc] init];

    avc.val =[self.arr objectAtIndex:indexPath.row];

    [self.navigationController popViewControllerAnimated:YES];

} 

在VIewController A中

- (void)viewWillAppear:(BOOL)animated {

    [self.la setTitle:self.val forState:UIControlStateNormal];

}

2 个答案:

答案 0 :(得分:-1)

在接口文件中的B View控制器中,您应该声明委托方法,如:

@class AViewController;
@protocol BViewControllerDelegate <NSObject>

- (void)myData:(NSDictionary*)data;

@end

比你应该将委托实例分配给一个viewcontroller。

@implementation AViewController<BViewControllerDelegate>

BViewController *b = [[BViewController alloc] init];
b.delegate = self;
[b myData:@{@"bla":@"bla"}];
@end

答案 1 :(得分:-2)

您应该阅读有关设计模式的内容。本教程是一个好的开始:http://www.raywenderlich.com/46988/ios-design-patterns 您特定问题的模式应该是&#34;委托模式&#34;