IOS学习笔记系列之一:Delegate的实现

						**IOS学习笔记系列之一:Delegate的实现**

经过书上和网上的学习,代理主要由三部分组成:

  1. 协议:用来指定双方可以做什么,必须做什么。
  2. 代理:根据指定的协议,完成委托方需要实现的功能。
  3. 委托:根据指定的协议,指定代理去完成什么功能。

接下来我们通过一个具体的例子来实现代理功能(例子网上找的,侵删)。
我们先打开xcode,新建一个ios的single view app,此时系统默认有一个ViewController视图。在当前视图上我们拖一个名为"Go to next VC to enter message"(当时手打快,图片里message打成了massage,后面的图也有打错的)的按钮和一个名为“lblChildToShowMassage”的label,效果图如下。在这里插入图片描述

接着我们新建一个名为“ChildViewController"的视图,往里面拖一个名为“Go back to the entered massage“的按钮和一个名为”Test Enter Message“的test,将这个文本背景色改成绿色(步行街街色),效果图如下。在这里插入图片描述

按住control,鼠标点中ViewCcontroller的按钮并把它拖到ViewController.m(这个操作懂的都懂)进行代码编辑。

- (IBAction)buttonGoToChildVC:(id)sender { //跳转到ChildViewController页面 ChildViewController *childVC = [self.storyboard instantiateViewControllerWithIdentifier:@"ChildViewController"]; childVC.delegate = self;//对委托进行处理 [self presentViewController:childVC animated:YES completion:nil]; }
其他类似的操作我就不详细写了,贴一些关键代码吧。

//定义一个协议
@protocol ChildViewControllerDelegate <NSObject>
//默认为require,代理必须实现的方法,此处只需定义
- (void)setEnterMessage:(NSString *)message;
@end

//定义一个属性,能够用来进行get set操作
@property (nonatomic,weak) id <ChildViewControllerDelegate> delegate;

第一篇博客,新手中的新手,希望能将这个好习惯保持,期待自己的下一篇博客。

猜你喜欢

转载自blog.csdn.net/qq_38126805/article/details/86162372