目标:在两个独立的控制器的界面之间进行反向传值 关键技术:block 代码编写及运行环境:Xcode6.4 / 模拟器8.4 语言:Objective-C 注:使用纯代码实现,不使用xib/storyboard 效果图: 前期注意: 代码实现如下: 1. // // AppDelegate.h // blockPassValue // // Created by xiaoC on 16/9/28. // Copyright (c) 2016年 xiaoLeC. All rights reserv…
目录: 一.正向传值 二.反向传值 三.代理模式 回到顶部 正向传值:就是把第一个界面的值传给第二个界面显示,其简单实现方法 1 首先在第一个界面中要有一个textField输入框,一个按钮button,第二个界面至少有一个要显示该值的标签lable,并附带一个back按钮. 2 在第一个界面.m文件中拉一个button按钮的方法,这个方法实现了接收textField文本框的值,并赋值给第二个界面的一个公开属性,假设是message(之所以要一个公开属性,因为语法规定不能直接访问第二个界面里面的…
主要分两种,一种是故事板中通过segue进行的传值,第二种是使用代码. 贴代码 24行代码是代码进行传值 35是故事板中的…
在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展,用来实现匿名函数的特性.用维基百科的话来说,Block是Apple Inc.为C.C++以及Objective-C添加的特性,使得这些语言可以用类lambda表达式的语法来创建闭包.关于闭包,一句话解释简洁明了:闭包就是能够读取其它函数内部变量的函数. 在iOS开发中,Block有很多方面的用途,…
iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)   使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel是为了显示第二个视图控制器传过来的字符串,UIButton是为了push到第二个界面. 第二个界面的只有一个UITextField,是为了输入文字,当输入文字,并且返回第一个界面的时候,当第…
1.在需要像上一个界面传值的.h 文件实现代理方法 @property (nonatomic, copy) void(^isOpenHandler)(BOOL) ; 2.在执行操作的时候需要江操作的结果反向传值给上个界面的时候调用Block if (self.isOpenHandler) { self.isOpenHandler(YES); } 3.在第一个视图控制器中 Push 的时候调用Block   接受回传回来的值 WM.isOpenHandler = ^(BOOL isopen){ i…
本贴的例子是:有A和B两个界面,要实现的效果就是先让A跳转到B,然后B中有个颜色的参数,当B跳转到A时,把这个颜色的参数传递给A,在A中利用这个颜色改变自己界面的颜色. 第1步:在发送者(界面B)中,制定协议(在.h头文件中声明) // 协议名一般以本类的类名开头+Delegate (包含前缀) @protocol ConfigViewControllerDelegate <NSObject> // 声明协议方法,一般以类名开头(不需要前缀) - (void)changeBgColor:(UI…
代理传值: // SendViewController.h #import <UIKit/UIKit.h> @protocol SendInFor <NSObject> -(void)sendInForIdea:(NSString*)text; @end @protocol SendInForTwo <NSObject> -(void)sender:(NSString*)text; @end @interface SendViewController : UIViewC…
/** *  block 反向传值回调 */ //在第二个控制器中 //   (1)声明block,在基类中已写好 //   (2)写好传值方法 //(1) typedef void (^ReturnMessageBlock)(id *showText); @property (nonatomic, copy) ReturnMessageBlock returnMessageBlock; - (void)returnMessage:(ReturnMessageBlock)block;//方便第一…
block 常用于反向传值 声明 返回值类型 (^block)(参数列表) 调用 闭包的名字=^(参数列表){}: 闭包的名字(): 如: void(^aaaaa)(int num,NSString *Sring); aaaaa=^(int num,NSString *string){ NSLog(@"%d,%@",num,string); }; aaaaa(120,@“www"); block实现反向传值 (1)用属性实现: 1.在.h文件声明:@property(nona…
实验说明 (1)正向传值:比如A类里地值要传给B类用,就是我们先在A类中声明一个B类对象(当然B类头文件要import过来),然后把A类中得某个 值传递给B类中得某个值(所以需要在B类中先准备一个变量来接受,就是用@property和@synthesize整个变量即可). (2)反向传值:比如需要把B类中的值传递给A类用.我们先在B类中写一个协议,协议里面有一个可以带参数的方法,这个参数就是我们要传递的值 (这个协议也可以单独写,不一定写在B类中),然后B类遵循这个协议后,利用这个协议创建一个委…
在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的输入框中输入字符串,在界面A的label上显示.这是一个典型的反向传值的例子.这个例子的核心是:“在界面B的输入框中输入字符串,在界面A的label上显示”.也就是说:“界面B委托界面A显示字符串,页面A是界面B的代理”.委托方向代理方反向传值. 那么我们该怎么用代理设计模式来实现这个需求呢? 在程…
在上篇博客 iOS代理协议 中,侧重解析了委托代理协议的概念等,本文将侧重于它们在开发中的应用. 假如我们有一个需求如下:界面A上面有一个button.一个label.从界面A跳转到界面B,在界面B的输入框中输入字符串,在界面A的label上显示.这是一个典型的反向传值的例子.这个例子的核心是:“在界面B的输入框中输入字符串,在界面A的label上显示”.也就是说:“界面B委托界面A显示字符串,页面A是界面B的代理”.委托方向代理方反向传值. 那么我们该怎么用代理设计模式来实现这个需求呢? 在程…
闭包参考:http://c.biancheng.net/cpp/html/2285.html   闭包详解 传值参考:http://www.tuicool.com/articles/vy2uUz Swift利用闭包(closure)来实现传值-->前后两个控制器的反向传值 import UIKit class ZWRootViewController: UIViewController { init(nibName nibNameOrNil: String?, bundle nibBundleO…
利用了大约一个多小时来搞明确OC中Blocks反向传值和Swift中Closure反向传值的区别,以下直接贴上代码: 一.第一个界面 // Created by 秦志伟 on 14-6-13. import UIKit class ZWRootViewController: UIViewController { init(nibName nibNameOrNil: String? , bundle nibBundleOrNil: NSBundle?) { super.init(nibName:…
第三讲 Touch 前面两篇我们学习的内容,足够我们做一款简单的小游戏.也能够说,我们已经入门了,能够蹒跚的走路了. 本篇将解说cocos2dx中非常重要的touch回调机制.你肯定记得第一章做定时器时间的时候用过CC_CALLBACK_1宏定义,它让我们回调一个仅仅有一个形參的函数来运行定时操作. 回调函数的实现(Lambda表达式) 学习本篇前请细致学习一下C++11的特性,std::function和lambda表达式.C++11还引入了非常多boost库的优秀代码,使我们在使用的时候不必…
前言:苹果官方是推荐我们将所有的UI都使用Storyboard去搭建,Storyboard也是一个很成熟的工具了.使用Storyboard 去搭建所有界面,我们可以很迅捷地搭建出复杂的界面,也就是说能为我们节省大量的时间.我们还可以很直观地看出各个界面之间的关系,修改起来也很方便.将 来如果遇到需要作修改的地方,我们只需要找到相对应的Storyboard就可以了,比起以前来说,快捷了不少. 我会在本文的最后附上Demo,可以帮助你们有更直观的理解,有需要的人可以去下载运行一下. 另外,建议大家实…
一.通过点击按钮事件,实现四大界面之间的跳转: (一)跳转的思路: 1.打开软件,只显示登录界面(隐藏游戏界面.暂停界面.玩家死亡界面) 2.点击微信登录(QQ登录)跳转到游戏界面,隐藏登录界面 3.点击暂停,弹出具有透明度的暂停界面 4.点击暂停界面的开始按钮,隐藏暂停界面,调用开始方法(点击登录跳转的方法): 5.点击暂停界面的退出游戏,只显示登录界面,隐藏其他界面: 6.游戏结束界面,该界面的跳转目前还不能通过游戏实现,可以先建设(根据上一讲的游戏界面图片制作). 7.点击游戏结束界面的开…
一.通过点击按钮事件,实现四大界面之间的跳转: (一)跳转的思路: 1.打开软件,只显示登录界面(隐藏游戏界面.暂停界面.玩家死亡界面) 2.点击微信登录(QQ登录)跳转到游戏界面,隐藏登录界面 3.点击暂停,弹出具有透明度的暂停界面 4.点击暂停界面的开始按钮,隐藏暂停界面,调用开始方法(点击登录跳转的方法): 5.点击暂停界面的退出游戏,只显示登录界面,隐藏其他界面: 6.游戏结束界面,该界面的跳转目前还不能通过游戏实现,可以先建设(根据上一讲的游戏界面图片制作). 7.点击游戏结束界面的开…
1.Ionic3.x 页面正向传值 关于正向传值,上一篇文章里面有讲,具体可以看这里https://segmentfault.com/a/11... 2.Ionic3.x 页面 pop反向传值,主要有两种方式 1 .利用ES6提供 Promise 对象 2 利用Ionic3.x提供Event对象,观察者模式(publish/subscribe) 1)利用ES6提供 Promise 对象 这边假设有两个页面A页面, B页面, 情景如下,A跳转B页面,在B页面返回A页面需要给A页面选回的值. A页面…
atitit. js 跨界面 页面 web cs 传值方法总结 #--需求 js #---两个方法:   直接传跟跟间接传递... 1.直接传跟new form(param)    web使用url方法.. 2.间接传递. 全局变量法..内存/文件法... js使用了哈window.idx法..烂,不行, session,cookie.. 作者 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com 转载请注明来源: http://blog.csdn.net/att…
// // ProtectedDelegate.h // OC10_代理反向传值 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> @protocol ProtectedDelegate <NSObject> - (void)bark; @end // // D…
// // FirstViewController.h // 控制器数据传递 // // Created by wangtouwang on 15/4/15. // Copyright (c) 2015年 wangtouwang. All rights reserved. // #import <UIKit/UIKit.h> @interface FirstViewController : UIViewController @end // // FirstViewController.m //…
Block语法 定义Block //定义类型 typedef void (^ReceiveMessageBlock)(NSString *); //申明变量 ReceiveMessageBlock theBlock; 使用Block //定义Block方法 theBlock = ^(NSString * theMessage){ NSString * showMessage = [NSString stringWithFormat:@"receive:%@", theMessage];…
对于一个app,可能需要多个界面,使用Button或者其他控件在不同界面之间切换,那么如何做到呢 首先必须明确,一般一个activity.java文件一般只对应一个界面即一个layout.xml文件,还有可能是在一个界面上再引入一个半屏或者全屏,这样需要用到一些手段,例子在下面放出来. 通常需要新建一个java文件,然后进行处理,新建java文件过程如下:New-class- 输入Name,选择继承的类,一般都是选择最通用的安卓原生的activity类,finish之后得到一个新的java文件,…
IOS中多层界面之间显示与隐藏tabBar? 在做项目的时候,遇到了一个难题,使用hidesBottomWhenPushed=YES属性设置,可以让本级界面及其以后界面都隐藏,但是根据项目 需求,在第4层是需要显示标签栏的. 于是想了很多的办法,每个要显示的push的界面前都加了hidesBottomWhenPushed=YES,要隐藏的push的界面都加了hidesBottomWhenPushed=NO, 但是一样不好使. 手动调用self.tabbarchontroller.tabbar.h…
很简单的一个小Demo,绿色的是输出的一个组件,目标把’爱好‘从父组件传给子组件,然后把’name‘从子组件传给父组件 父组件给子组件传值可以使用props,子组件传值给父组件可以使用事件,这里不多说直接上代码, 子组件代码: //获取屏幕尺寸 var Dimensions = require('Dimensions'); var {width, height} = Dimensions.get("window"); export default class CustomView ex…
Swift中闭包反向传值 1.第二控制器申明一个闭包类型 typealias BackBlock = (String) -> Void 2.第二控制器定义一个变量 var BackBlockClousure : BackBlock? 3.第一控制器实现回调 let VC = segue.destination as! DetailsViewController VC.BackBlockClousure = { (backStr:String) -> Void in NSLog(backStr,…
截至2016年4月13日19点32分,我公布的ionic新手教程,已经公布6课了, 总訪问量将近6000,平均每节课能有1000的訪问量.当中訪客最多的是第三课有2700的訪客. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""> 事实上我開始的时候计划的挺好的,就依照我…
react-native页面之间的相互传值 之前在自己学习react-native的时候,在页面跳转和传值问题上花了一段时间去网上搜索和查找资料,自己总结了两个方法.可以参考 https://blog.csdn.net/shb2058/article/details/80390468 和 https://blog.csdn.net/shb2058/article/details/80432014首先设置一个不带参数的页面跳转使用navigation切换路由方法: this.props.navig…