美文网首页
iOS开发-代理传值

iOS开发-代理传值

作者: 小熊iOS开发 | 来源:发表于2016-08-11 21:50 被阅读0次

代理传值的步骤:

需要传值的界面操作步骤

1.声明代理协议

2.声明代理方法

3.声明一个属性,用来表示当前类对象的代理

4.让代理执行对象的方法,实现界面间从下级界面到上级界面的通讯

接收传值的界面操作步骤:

1.遵循代理协议

2.指定当前的控制器为传值界面控制器的代理

3.实现代理方法

需要传值的界面-SecondViewController

#import <UIKit/UIKit.h>

// 1.声明协议进行传值

@protocol SecondVCDelegate

// 2.通过该协议方法更改上个界面中label.text

- (void)changeLabelText:(NSString*)aString;

@end

@interface SecondViewController :UIViewController

// 3.声明一个属性,用来表示当前类对象的代理

@property(nonatomic,assign) id<SecondVCDelegate> delegate;

@end

- (void)popToFirstVC:(UIButton*)sender

{

[self.navigationController popViewControllerAnimated:YES];

// 4.让代理执行对象的方法,实现界面间从下级界面到上级界面的通讯

if([_delegaterespondsToSelector:@selector(changeLabelText:)]) {

[_delegate changeLabelText:self.textField.text];

}

}

接收传值的界面-FirstViewController

#import "FirstViewController.h"

#import" SecondViewController.h"

 //1.遵循代理协议

@interface FirstViewController() <SecondVCDelegate>

- (void)pushToNextVC:(UIButton*)sender

{

SecondViewController*secondVC = [[SecondViewController alloc]init];

secondVC.labelText=self.label.text;

// 2.指定当前的控制器为secondVC的代理

secondVC.delegate=self;

[self.navigationController pushViewController:secondVCanimated:YES];

}

// 3.实现代理方法

#pragma mark - SecondVCDelegate

- (void)changeLabelText:(NSString*)aString

{

self.label.text= aString;

}

相关文章

  • [学习笔记]_iOS代理基本使用,界面间传值

    参考链接: 你真的了解iOS代理设计模式吗? iOS开发-Protocol协议及委托代理(Delegate)传值 ...

  • iOS 常用传值方式

    总结 iOS 日常开发中的几种常用传值方式:正向传值代理传值block传值通知传值单例 文章代码:https://...

  • ios 常见的几种逆向传值方式

    在iOS开发中,常见的几种逆向传值方式,有代理(delegate)、通知(NSNotification),bloc...

  • iOS中常见的几种逆向传值方式

    在iOS开发中,常见的几种逆向传值方式,有代理(delegate)、通知(NSNotification),bloc...

  • iOS开发-代理传值

    代理传值的步骤: 需要传值的界面操作步骤: 1.声明代理协议 2.声明代理方法 3.声明一个属性,用来表示当前类对...

  • ObJective-C之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • iOS开发之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • 芒果iOS开发之界面传值方式-数组回传值

    在iOS开发过程中经常会用到界面之间的传值,提到传值大家立马就能说出来很多种方式:比如,最简单的属性传值;还有代理...

  • iOS的五种传值

    前言 iOS常见的五种传值分别为属性传值,通知传值,代理传值,block传值,单例传值 属性传值 用于正向传值,简...

  • iOS开发之通过代理逆向传值

    在iOS开发中,传值是几乎每个App都会用到的,对于传统的顺向传值应该说是比较简单的,但是逆向传值往往会用到代理模...

网友评论

      本文标题:iOS开发-代理传值

      本文链接:https://www.haomeiwen.com/subject/tzyssttx.html