zoukankan      html  css  js  c++  java
  • 使用Block来进行页面间的传值

    Block语法

    定义Block

    	//定义类型
    	typedef void (^ReceiveMessageBlock)(NSString *);
    	//申明变量
    	ReceiveMessageBlock theBlock;
    

    使用Block

    	//定义Block方法
    	theBlock = ^(NSString * theMessage){
    
    		NSString * showMessage = [NSString stringWithFormat:@"receive:%@", theMessage];
    
    		messageLabel.text = showMessage;
    	}];
    	
    	//使用Block方法
    	theBlock(@"hehehe");
    

    具体使用Block的方法请参照iOS开发——Block详解

    通过Block来进行页面间的传值

    A页面创建B页面,然后B页面调用A页面的方法

    A页面

    • 创建B页面时设置B页面对A页面的调用Block
    	[BView setHandler:^(TCPStatus theStatus){
    		if (theStatus == TCPSuccess) {
    			statusLabel.text = @"终于TM连接成功了";
    		}
    		else{
    			statusLabel.text = @"没连接上";
    		}
    	}];
    

    B页面

    • 在B页面提供接口设置Block
    - (void)setHandler:(ConnectStatusBlock)block
    {
    	self.connectStatusBlock = block;
    }
    
    • 在B页面使用A设置的Block
    - (void)receiveMessage:(NSString *)theMessage
    {
    	if (self.receiveMessageBlock) {
    		self.receiveMessageBlock(theMessage);
    	}
    }
    
    
  • 相关阅读:
    Async、Await
    CommandLineParser命令行解析类
    Dispose in c#
    授权oAuth
    Hadoop技术内幕1——源代码环境准备
    postgreSql——时区问题
    Linux命令3——c
    Linux命令2——b
    Linux命令1——a
    hadoop的Linux操作
  • 原文地址:https://www.cnblogs.com/wisejoker/p/3900880.html
Copyright © 2011-2022 走看看