1)我通过使用自定义 协议的两个视图控制器之间传递值。但该值始终显示NULL。使用自定义协议在两个视图控制器之间传递数据值
我需要从第二视图控制器值传递给第一视图控制器
2)在Secondview或者Controller.h
@protocol PopoverTableViewControllerDelegate <NSObject>
@property (nonatomic, strong) id<PopoverTableViewControllerDelegate>myDelegate;
3)secondview Controller.m或者
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary*dict=[sercharray objectAtIndex:index];
str=[dict objectForKey:@"id"];
NSLog(@"test value %@",str);
[self.myDelegate didSelectRow:str];
NSLog(@"delegate value %@",self.myDelegate);
//THIS VALUE ALWAYS SHOWING NULL AND ALSO I SHOULD PASS THIS VALUE TO FIRST VIEW
CONTROLLER.I SHOULD USE DISMISS VIEW CONTROLLER.
[self dismissViewControllerAnimated:YES completion:nil];
}
4 )第一视图controller.h
@interface Firstviewcontroller :
UIViewController<PopoverTableViewControllerDelegate>
5)首先查看Controller.m或者
secondviewcontroller *next=[[seconviewcontroller alloc]init];
next.myDelegate=self;
(void)didSelectRow:(NSString *)cellDataString {
passstring = cellDataString;
NSLog(@"pass string %@",pass string);
//first view controller str variable value i need to pass this string[passstring].
}
您是否在第二视图controller.m中获得了str的值? –
是的,我的第二视图controller.m –
str得到的价值是您的secondViewController委托方法在解散后在您的FirstViewController类中调用.. –