ios-委托代理详细步骤,手把手教,学不会你砍我!

让第二个页面传值到第一个界面。首先现在第二个页面头文件里
#import <UIKit/UIKit.h>下与@end之间写如下指令:

//协议
@protocol loveDelegate<NSObject>
//协议的方法
-(void)loveDelegate:(NSString *)str;
@end
@interface secondViewController : UIViewController
//实体变量,成员属性
//id是任意数据类型
@property(nonatomic,strong)id<loveDelegate>delegate;

然后把被传值文件的实现文件里引入第二页面(#import"传值的页面名.h")
然后在该页面中的interface这一行的括号后加上<loveDelegate>来调用这个方法。如下
@interface firstViewController ()<loveDelegate>
在viewdidload里实例化一个button。button的属性请看以下例子中的注释

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
//实例化一个button,它的结构大小是122,300,100,42
    UIButton * btn=[[UIButton alloc]initWithFrame:CGRectMake(122,300,100,42)];
//设置这个button的标题是"进入",样式为一般
    [btn setTitle:@"进入" forState:UIControlStateNormal];
//设置标题字体的颜色为白色,样式为一般
    [btn setTitleColor:[UIColor whiteColor ]forState:UIControlStateNormal];
//设置button的背景颜色为橙色
    btn.backgroundColor=[UIColor orangeColor];
//为这个button添加点击目标为自己,然后点击所执行的命令(也叫点击事件)为"(clickPop)"(还需要对该点击事件所执行的方法进行编写)。
    [btn addTarget:self action:@selector(clickPop) forControlEvents:UIControlEventTouchUpInside];
    把这个button加到自身的view上
    [self.view addSubview:btn];
}

对点击事件的方法进行编写

-(void)clickPop{
实例化secondviewcontroller为vc
    secondViewController *vc= [[secondViewController alloc]init];
//vc使用delegate方法为本身
    vc.delegate = self;
//跳转到vc页面
    [self.navigationController pushViewController:vc animated:YES];
    
}

然后调用loveDelegate里的方法

-(void)loveDelegate:(NSString *)str{
    NSLog(@"love" );
}

最后在第二个页面的实现文件里写入

-(void)viewWillDisappear:(BOOL)animated
   {
     [  self.delegate loveDelegate:@"dragon"];
       
   }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • iOS开发中,页面传值是很常见的,但是页面传值你究竟知道多少呢?笔者这篇文章就是给大家介绍一下页面传值的具体方式,...
    蒲公英少年阅读 2,181评论 10 44
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,523评论 0 17
  • 在我们需要在另一个页面中获取到这个页面个的数据的时候,我们就需要将这个页面通过某种形式传递给另一个页面。在这里我们...
    Joker_King阅读 5,527评论 5 16
  • 记忆中的小时候,有金黄金黄的麦田,起风时会有独特的麦香,像是青草又比青草更多了些甜腻,麦田旁边的水渠,窄窄高高的,...
    蝈蝈的果阅读 171评论 0 0