后出来的页面想影响之前的页面需要用代理
后出来的页面是触发类,之前的时被触发类
被触发类在push之前把自己给second的delegate属性
-(void)pushBtnDown
{
SecondViewController *second = [[SecondViewController alloc] init];
//在push前把自己给second的delegate属性
second.delegate = self;//second.delegate调用协议方法时,就相当于当前的self调用,所以在first这个页面来实现协议方法
[self.navigationController pushViewController:second animated:YES];
[second release];
触发类.h文件
@protocol SecondDelegate <NSObject>
//改变first里面label显示的内容,改为newStr
-(void)changeTextTo:(NSString *)newStr;
@end
@interface SecondViewController : UIViewController<UITextFieldDelegate>
@property(nonatomic,assign)id <SecondDelegate> delegate;
后出来的页面是触发类,之前的时被触发类
被触发类在push之前把自己给second的delegate属性
-(void)pushBtnDown
{
SecondViewController *second = [[SecondViewController alloc] init];
//在push前把自己给second的delegate属性
second.delegate = self;//second.delegate调用协议方法时,就相当于当前的self调用,所以在first这个页面来实现协议方法
[self.navigationController pushViewController:second animated:YES];
[second release];
触发类.h文件
@protocol SecondDelegate <NSObject>
//改变first里面label显示的内容,改为newStr
-(void)changeTextTo:(NSString *)newStr;
@end
@interface SecondViewController : UIViewController<UITextFieldDelegate>
@property(nonatomic,assign)id <SecondDelegate> delegate;