UITextField所在控制器.h文件
#import <UIKit/UIKit.h>
@protocol MineNickNameDelegate <NSObject>//1声明协议
@optional
-(void)changLabelText:(NSString *)text;//2声明协议方法
@end
@interface MineNickName : UIViewController
@property (nonatomic, weak) id<MineNickNameDelegate> delegate;//3将协议变成属性
@end
@interface MineNickName ()
@property (weak, nonatomic) IBOutlet UITextField *nameText;---(拖线)、也可声明属性
@end
//在点击事件里面进行传值(此为block跳转事件ain)
-(void)saveButtonClicked
{
//4,实现协议并传值
if ([self.delegate respondsToSelector:@selector(changLabelText:)]) {
[self.delegate changLabelText:self.nameText.text];
}
[self.navigationController popViewControllerAnimated:YES];
}
Label控制器。m文件
导入
@interface MaMITMineInformation ()<MineNickNameDelegate>//6.遵守协议
@property (weak, nonatomic) IBOutlet UILabel *nickNameShow;//昵称显示(Label拖线)
//实现代理协议,
//7.调用协议
#pragma mark - MineNickNameDelegate
-(void)changLabelText:(NSString *)text
{
self.nickNameShow.text = text;
NSLog(@"text:%@",text);
}
/**
* 昵称
*/
Label所在cell的跳转
-(void)nickNameClicked
{
MineNickName *nickname = [[MineNickName alloc] init];
nickname.title = @"修改名字";
nickname.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:nickname animated:YES];
//5.给协议赋值
nickname. delegate = self;
}