代理传值 delegate
程序员文章站
2022-07-04 11:07:23
...
在第二页面中.h 文件写协议
//协议方法
@class AddViewController;
@protocol AddViewControllerDelegate <NSObject>
//声明协议方法.在创建页面时,应注意首字母大写的问题
//传值没有限制
@optional
-(void)addViewController:(AddViewController *)addViewController withTeacher :(Teacher *)teacher;
@end
@interface AddViewController : UIViewController
//定义协议
@property (nonatomic,strong)id<AddViewControllerDelegate> delegate;
@end
在.m 文件中,在点击传值方法中
//判断代理方法是否响应
if ([self.delegate respondsToSelector:@selector(addViewController:withTeacher:)]) {
//执行代理方法
Teacher *t=[Teacher new];
//赋值
t.name=self.nameField.text;
t.number=self.numberField.text;
[self.delegate addViewController:self withTeacher:t];
}
// 回到第一页面,签订你定义的协议,在跳转方法中,要 delegate=self; 类似于表格,然后开始写你的代理方法
//代理方法
-(void)addViewController:(AddViewController *)addViewController withTeacher:(Teacher *)teacher{
[array addObject:teacher];
[table reloadData];
}
上一篇: LearnOpenGL 总结记录 HDR
下一篇: OpenGL学习笔记(十)