热邪传里,iOS学习之界面通讯

By admin in 威尼斯赌场官网 on 2019年3月31日

【热邪传里】

炳彪史册,耀光千里,故土守英传义芳。

① 、属性传值

1.属性传值

性格传值适用于各样传值,从前方的界面传值给末端的界面。

指温邪不从外解而向里传,或风寒湿燥等外邪在早晚的原则下化热入里。其特征是:恶风、恶寒等表证消失而产出里热证症状,如高热痛风症、胸中烦闷,口渴引饮、烦躁、甚则谵语、大脱肛结、风火自汗、舌红苔黄、脉数等。

田雨草地,大路朝:天,山泉微笑话传德;

  在SecondViewController.h里

2.代理传值

用代理的办法贯彻界面间传值稍微复杂一丝丝相符从前面包车型大巴界面回传给前方的界面。

专注,代理传值的逻辑是如此的,先从界面a跳转到界面b,然后从界面b回跳到界面a的时候,把界面b的值传给界面a。

小心,什么人传值何人安装代理,哪个人传值哪个人调用代理方法,哪个人接收值哪个人服从代理,何人接收值什么人促成代理方法。

在SecondViewController.h里声称代理和研究

威尼斯赌场官网 1

宣示代理

在SecondViewController.m的跳转方法里调用代理方法

威尼斯赌场官网 2

调用方法

在ViewController.m里安装代理并落实代理方法

威尼斯赌场官网 3

安装代理,完结代理方法

——霍瑞琴

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController

// 第一步:声明属性,用来存放上一页传过来的数据
@property (nonatomic, copy) NSString *contents;

@end

3.block传值

block传值的思想和代理传值格外相像。

何人传值什么人就要评释block,在传值界面将要消失大概说回跳的时候,把要传递的值传给block。接收值的一方调用block,并在block块里对吸收到的多寡举行操作。

在SecondViewController.h里定义block:

typedef void(^myBlock)(NSString\ str);*

@property(nonatomic,copy)myBlock sendValueBlock;

在回传方法里给block赋值:

-(void)sendBackByBlock{

*    self.sendValueBlock(@”i am a block”);*

*    [self.navigationController popViewControllerAnimated:YES];*

}

在ViewController.m里接收block回传的值,并处理:

SecondViewController\ secondVC = [[SecondViewController alloc]
init]; secondVC.sendValueBlock = ^(NSString *string){*

* NSLog(@”%@”,string);*

* };*

孝忠两全,守旧美德,时刻不忘惠农生,

  在RootViewController.m里

4.通告传值

其次个界面给第①个界面传值,在首先个界面注册观望者,在第一个界面向公告宗旨发送布告。

在SecondViewController.m里向布告中央发通知:

-(void)sendBackByNotification{

*    [self.navigationController popViewControllerAnimated:YES];*

*    NSDictionary* dict = [热邪传里,iOS学习之界面通讯。NSDictionary dictionaryWithObject:@”i am
a notification” forKey:@”key”];*

*    [[NSNotificationCenter
defaultCenter]postNotificationName:@”value” object:nil
userInfo:dict];*

}

在ViewController.m里登记观望者,并拍卖接收到的数码。

[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(value:) name:@”value” object:nil];

-(void)value:(NSNotification\)sender{威尼斯赌场官网,*

*    NSLog(@”%@”,sender.userInfo[@”key”]);*

}

炳彪史册,耀光千里,故土守英传义芳。

- (void)loginAction
{
    SecondViewController *sVC = [[SecondViewController alloc] init];

    // 第二步进行赋值
    sVC.contents = self.rootView.userTextField.text;
    [self.navigationController pushViewController:sVC animated:YES];
}

——张传德

  在SecondViewController.m里

炳彪史册,耀光千里,故土守英传义方,

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.title = @"欢迎";
    self.view.backgroundColor = [UIColor grayColor];

    [self initLayout];
    // 第三步,显示内容
    self.nameLabel.text = self.contents;
}

书在现世,存世万古,传媒西秦颂三沙。

② 、协议传值

书在现代,存世万古,西秦广臻颂炳耀,

     壹 、协议六步

炳彪史册,耀光千里,故土守英传义方。

  • 第叁步:注脚协议
  • 第3步:证明清理人
  • 其三步:执行协议章程
  • 第伍步:签订协议
  • 第六步:内定代理人
  • 第陆步:达成协议格局

梯次何惠明

     2、代码

广秀河山,礼仪万方,梓乡贤人皆忠孝;

  第③步:在SecondViewController.h里声称协议

炳彪史册,耀光千里,故土守英传义芳。

// 1.定义协议
@protocol SecondViewControllerDelegate <NSObject>

// 声明协议方法
- (void)changeValue:(NSString *)name;

@end

    ——贾粉平

  第1步:在SecondViewController.h里声称代理人

小筑成员,已超两百,文墨诗词共习强;

@interface SecondViewController : UIViewController


// 声明代理人,语义设置使用assign,防止循环引用
@property (nonatomic, assign) id<SecondViewControllerDelegate>secondDelegate;
@property (nonatomic, strong) NSString *contents;

@end

炳虎史册,耀光千里,故土守英传义芳。

  第①步:在SecondViewController.m使用代理调用代理的传值方法

依次赵建林

  // 实现方法使用代理从后往前传值
- (void)myBtnAction:(UIButton *)sender
{
    // 1.把输入的内容传到第一页
    // 第三步:使用代理调用代理的传值方法
    // 判断代理是否实现了方法进行调用
    if ([self.secondDelegate respondsToSelector:@selector(changeValue:)]) {
        [self.secondDelegate changeValue:self.myField.text];
    }
    // 2.跳回到第一页

    [self.navigationController popViewControllerAnimated:YES];
}

丙彪史册,光耀千里,故土守英传义芳。

  第6步:在RootViewController.m的延展里签订协议

筑群誉满,四海友赞,十里文苑笑春風。

// 第四步:签订协议
@interface RootViewController ()<SecondViewControllerDelegate>
@property (nonatomic, strong) UILabel *myLabel;
@property (nonatomic, strong) UIButton *myBtn;
@end

  一一柴守英

  第伍步:在RootViewController.m钦命当前目的为委托人

飞鹰凌峰,悠然高升,冷月清泉映海霞,

// 实现事件
- (void)rightAction
{
    SecondViewController *sVC = [[SecondViewController alloc] init];
    // 第五步:指定当前对象为代理人
    sVC.secondDelegate = self;
    [self.navigationController pushViewController:sVC animated:YES];
}

炳彪史册,耀光千里,故土守英传义芳。

  第⑥步:在RootViewController.m贯彻协议章程  

孝忠两全,守旧美德,历历在目惠万民,

// 第六步:实现协议方法
- (void)changeValue:(NSString *)name
{
    self.myLabel.text = name;
}

炳彪史册,耀光千里,故土守英传义芳。

三、Block传值

——张传德

     1、回顾block

炳彪史册,耀光千里,故土守英传义芳。

  • block是匿名函数,能够达成函数回调功效
  • 用于页面之间通讯,同时能够拓展传值

    void(^block)(void) = ^(void)
    {
    };
    //其中:
    //void(^block)(void)是连串//block是变量名
    //^(void){};是block完成// 没有应用一些变量的block存储在全局区
    // 使用部分变量的block存款和储蓄在栈区

神航二船,振兴中华,壮国兴军世代传

     2、block传值

  ——张珍萍

  • 选用处境类似协议传值,都以化解从后3个页面往前3个页面传值难题

田盈五谷,雨润万物,草地清泉映沁霞

     叁 、block传值二种艺术

炳彪史册,耀光千里,故土守英传义芳

  • 方法一:使用block属性达成回调传值
  • 主意二:在章程中定义block达成回调传值

——张彩年

  在SecondViewController.h声明block

传承文明,德润万载,草地清泉共彩虹。

@interface SecondViewController : UIViewController
// 第一步:定义block属性
@property (nonatomic, copy) void (^block)(NSString *);
@end

炳彪史册,耀光千里,故土守英传义芳

  在FirstViewController.m实现block

——李艳

- (void)myBtnAction
{
    SecondViewController *secondVC = [[SecondViewController alloc] init];
    // 第二步:实现block
    secondVC.block = ^void (NSString *textString) {
        self.myLable.text = textString;
    };
    [self.navigationController pushViewController:secondVC animated:YES];
}

田闻假玲,素菊万枝,粉饰太平何心静;

  在SecondViewController.m进行block传值

炳彪史册,光耀千里,故土守英传义芳。

// 实现方法 进行block传值
- (void)myBtnAction
{
    // block传值
    self.block(self.myField.text);
    // 返回第一页
    [self.navigationController popViewControllerAnimated:YES];
}

逐一张建宏

肆 、Block内部存款和储蓄器管理

炳彪史册,光耀千里,故土守英传义芳。

   
 1、在.h里声明block

名耀十里,义振八方,独立寒秋爱澜菊

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController

// 注意在MRC下,使用copy,在ARC下,可以使用copy,也可以使用strong来修饰,在strong中碰到block会自动有copy到堆内存的功能,但是苹果官方还是推荐使用copy,strong的内部实现也是copy
@property (nonatomic, copy) void (^block) ();

@end

  ——孙转平

  2、在.m里实现block

炳彪史册,耀光千里,故土守英传义方

    // 实现block
    /**
     *  在controller中定义block属性
     实现block的时候,如果block里面需要使用当前控制器对象,不可以直接使用self,否则会引起循环引用
     */
    // 使用__weak 修饰防止循环引用
    // __weak SecondViewController *secondVC = self;

    __weak typeof(self) secondVC = self;
    self.block = ^void () {
        NSLog(@"这事block的实现");
        secondVC.view.backgroundColor = [UIColor redColor];
    };
    // 调用block
    self.block();

振兴中华夏族民共和国,鹏飞九重,桑梓冷月伴高升

桃粉春月,菊平秋光,香飘万里皆丽君

炳彪史册,光耀千里,故土守英传义芳。

——红建

炳彪史册,光耀千里,故土守英(守正之意)传义方

河奔千里,静水深流,家国世庭有诗句

诗存文喜,春盛维新,家乡草地淌清泉。

炳彪史册,耀光千里,故土守英传义方。

——何炳耀

田雨草地,大路朝天,山泉微笑话传德;

炳彪史册,耀光千里,故土守英传义芳。

——霍瑞琴

诗存文喜,春盛维新,家乡草地淌清泉。

炳彪史册,耀光千里,故土守英传义方。

——何炳耀

炳彪史册,耀光千里,故土守英传义芳。

每年幸福,平安吉祥,暖暖晴空好阳光。

雪山回忆,甜蜜情谊,猪猪草地找野菜。

炳彪史册,耀光千里,故土守英传义方。

——贾世德

苏州和伯明翰久远,闻名海外,美景水中夹着山。

炳彪史册,耀光千里,故土守英传义方。

  ——张珍萍

广传德礼,建红孝忠,小筑林喜闻志华;

炳彪史册,耀光千里,故土守英传义芳。

——  何静

广礼 传德  红建  孝忠  林喜  闻喜  志华       

炳彪史册,耀光千里,故土守英传义芳;

田雨泽润,万物复苏,一池清泉映沁霞。

广礼孝忠,林喜田雨,闻喜传德贺彩年;

炳彪史册,耀光千里,故土守英传义方。

——于无声处

炳彪史册,耀光千里,故土守英传义方。

孝忠广礼,吉祥平安,小筑传德架金梁

——何炳耀

炳彪史册,耀光千里,故土守英传义方。

雨玲有田,老师孝忠,田家爱爱敬树忠

——田爱爱

粉平传德,素菊田雨,十里卫东保平安。

炳彪史册,耀光千里,故土守英传义芳。

——贾广礼

一默小筑,振惊十里,文豪笔墨歌声荡。

炳彪史册,耀光千里,故土守英传义芳。

——田志彪

炳彪史册,耀光千里,故土守英传义芳。

二三九友,星光闪闪,筑台显身展風彩。

一一柴守英

苏杭久远,名满天下,美景名吃人人夸。

炳彪史册,耀光千里,故土守英传义方。

——张珍萍

广招贤士,安邦天下,传承回想到书明;

炳彪史册,耀光千里,故土守英传义芳。 ——张文喜

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 威尼斯赌场 版权所有