Segue --数据传递、顺传、逆传
来源:互联网 发布:数据挖掘所需要的技术 编辑:程序博客网 时间:2024/06/06 22:45
Segue的属性1、唯一标识@property (nonatomic, readonly) NSString *identifier;2、来源控制器@property (nonatomic, readonly) id sourceViewController;3、目标控制器@property (nonatomic, readonly) id destinationViewController;在非自动的情况,完成二个控制器跳转的方法其中第一个参数就是挑战中连线取的名字self 就是来源控制器[self performSegueWithIdentifier:@"login2contacts" sender:nil];二:顺着传递数据二个控制器之间传递数据,通过控制器实现某个方法达到数据的传递控制器实现这个方法后,可以传递数据逻辑:从segue中可以取得目的的controller,拿到后可以做出对应的操作,如设置标题/** * 执行Segue后,跳转之前会调用这个方法 * 给下一个控制器传递数据 */- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ }三:数据的传递:回传,从后一个控制器回到前面前面一个控制器思想:如果逆向传递,采用代理步骤:--------------------------------------------------------------------------------------------------------默认进入controller弹出键盘思想:让输入框称为第一响应 [self.nameField becomeFirstResponder];//成为第一响应者退出键盘 [self.nameField resignFirstResponder];//退出第一响应者小技巧:这里弹出键盘的时机也是有考虑,更好的是当整个控制器的视图都显示完毕再弹出,因此走生命周期的方法会很好逻辑分析:数据提供的ViewController做到数据源提供,而标源的接受只需要遵守我们的代理,代理的方法中就会将数据传递过去1、先写一个代理:@protocol AddViewControllerDelegate <NSObject>@optional- (void)addViewControllerDidAddContact:(AddViewController *) addVc;@end2、将写好的代理作为数据源提供的controller的成员变量@property(nonatomic, weak) id<AddViewControllerDelegate> delegate;3、传递数据就是通知代理,这样数据便完成了传递//传递数据给前一个控制器,//通知代理,if ([self.delegate respondsToSelector:@selector(addViewControllerDidAddContact:)]) { [self.delegate addViewControllerDidAddContact:self];}4、目标controller遵守对应的代理@interface ContactsViewController () <UIActionSheetDelegate, AddViewControllerDelegate>实现对应的方法/** * 代理方法,添加数据的Controller发生数据传递,从而调用代理方法 */- (void)addViewControllerDidAddContact:(AddViewController *)addVc{ NSLog(@"fuck");}5、当然还有一个最重要的操作就是:将代理方法传递思想:因为segue中可以拿到自己contr和目的的destination二个controller,这里就是做设置代理传递最好的地方- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ AddViewController *addVc = segue.destinationViewController; addVc.delegate = self;}6、还有一个非常重要的一点:顺传数据,不要再set方法中赋值数据,因为controller控制器还没有家在view,而应该在viewDidLoad中加载逆传数据,则在代理方法中完成操作
0 0
- Segue --数据传递、顺传、逆传
- storyboard segue 传递数据
- Segue传递数据
- 使用segue页面间传递数据
- 使用StoryBoard:用Segue传递数据
- StoryBoard 使用segue页面间传递数据
- StoryBoard学习(5):使用segue页面间传递数据
- StoryBoard学习(5):使用segue页面间传递数据
- Segue回传数据
- OC笔记 - 控制器管理、UINavigationController、segue、控制器的数据传递(2015.3.16)
- iOS中使用storyboard实现页面跳转,Segue详解及简单的数据传递
- iOS开发点滴 - 如何通过Segue写代码传递数据从一个ViewController到另一个ViewController(Swift代码)
- SEGUE
- Segue
- iOS 演示 Modal Segue 的使用,包括参数如何从呈现者传递到 ModalView 以及数据如何从 ModalView 传回呈现者(利用委托对象)
- IOS storyboard 无Segue连接,手动跳转,并传递变量
- Swift - 纯代码实现页面segue跳转,以及参数传递
- Swift - 纯代码实现页面segue跳转,以及参数传递
- JAVA学习笔记41——引用类型比较2:新闻排序应用+商品排序应用
- 分享45个android实例源码,很好很强大.收藏吧!!!
- 算法精解一(C语言版)
- android SharedPreferences工具类
- 【Web测试专栏】Selenium+JUnit自动化测试方案 (三)
- Segue --数据传递、顺传、逆传
- wireshark 抓本地包.
- 给梦想留点时间
- this指针
- gradle中的task(一)
- PHP四大基本排序算法实例
- OutOfMemoryError
- android MotionEvent中getX()和getRawX()的区别
- isKindOfClass(java的instanceof)