当前位置:三九宝宝网 → 宝宝教育 → 智力培养 → 正文

ios app开发一般怎么传值

更新:02-22 整理:39baobao.com
字体:

[有什么好玩的ios游戏吗]狂野飚车1到7,现代战争1到3;遗失之风1到2;诺娃3近地联盟特遣队;fifa足球12(EA);特技摩托2冬季版;水果忍者最新(有zentk马车);马克斯佩恩移动版;圣徒之城:利约热内卢;愤怒小鸟太空版;无尽...+阅读

ios app开发传值的方法很多,具体如下:1: 属性传值第一步需要用到什么类型就定义什么样的属性 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页面推到下一个页面 MainViewController与SecondViewController两个视图 控制器 ,点击MainViewController中的按钮将跳转到SecondViewController视图,同时想要传递一个值过去。

这时可以利用属性传值。 首先SecondViewController视图中需要有一个属性用来 存储 传递过来的值: property(nonatomic,retain) NSString *firstValue ;//属性传值 然后MainViewController视图需要引用SecondViewController视图的头文件,在视图中的按钮点击事件中,通过SecondViewController的对象将需要传递的值存在firstValue中:-(void)buttonAction:(UIButton *)button { SecondViewController *second = [[SecondViewController alloc]init];//用下一个视图的属性接受想要传过去的值,属性传值 second.firstValue = _txtFiled.text; [self.navigationController pushViewController:second animated:YES]; } 页面跳转之后,就能在SecondViewController视图中,通过存值的属性,取用刚才传递过来的值://显示传过来的值 [_txtFiled setText:_firstValue];//firstValue保存传过来的值2、方法传值:需求同一中的 属性传值 一样,但是要通过使用方法传值,可以直接将方法与初始化方法合并,此时当触发MainViewController的按钮点击事件并跳转到SecondViewController时,在按钮点击事件中可以直接通过SecondViewController的初始化,将值保存在firstValue中:初始化方法如下: 首先SecondViewController视图中需要有一个属性用来 存储 传递过来的值: property(nonatomic,retain) NSString *firstValue ;//传值用//重写初始化方法,用于传值- (id)initWithValue:(NSString *)value{ if(self = [super initWithNibName:nil bundle:nil]) { self.firstValue = value; } return self; } 方法传值:- (void)buttonAction:(UIButton *)button{//将方法传值与初始化写到一起 SecondViewController *second = [[SecondViewController alloc]initWithValue:_txtFiled.text];//此时已经将值存在firstValue中 [self.navigationController pushViewController:second animated:YES]; } 这样就可以直接通过firstValue属性获得传递过来的值://显示传过来的值 [_txtFiled setText:_firstValue];//firstValue保存传过来的值3、协议传值代替协议代理传值,主要时间点问题。

上面 中说明了如何从A传值到B,这次要讲的是如何从A进入B,在B输入值后回传给A,这类似于Android中的利用Activity的onActivityResult回调方法实现两个Activity之间的值传递,那么在IOS中如何实现这个功能呢,答案是使用Delegate(委托协议)。4、Block传值 1.第一页中 声明一个 block, 需要传入一个颜色 , 让当前的 view 变色// 声明一个 block, 需要传入一个颜色 , 让当前的 view 变色 void (^changeColor)( UIColor *color) = ^( UIColor *color){ self . view . backgroundColor = color; };2 . 第一页中 //block 传值 --------- 将 block 给第二个页面 SecondViewController *secondVC = [[ SecondViewController alloc ] init ];//block 传值 --------- 将 block 给第二个页面 secondVC. block = changeColor; 3.第二页中定义 -- 当 block 变量作为一个类的属性 , 必须要使用 copy 修饰//block 传值 --------- 将 block 给第二个页面//block 传值 --- 当 block 变量作为一个类的属性 , 必须要使用 copy 修饰 property ( nonatomic , copy ) void (^block)( UIColor *color);4.在第二页中给block传值 //block 传值 --------- 将传值给 block NSArray *array = [ NSArray arrayWithObjects :[ UIColor yellowColor ], [ UIColor cyanColor ], [ UIColor greenColor ], [ UIColor brownColor ], nil ]; self . block ([array objectAtIndex : rand () % 4 ]);//block语法//返回值类型 (^block参数名) (参数类型 参数名) = ^返回值类型 (参数类型 参数名) {//具体实现;//}; float b = 0;//1.无参数无返回值 void(^block1)(void) = ^(void){ NSLog( "可口可乐" ); };//block语法调用 block1();//2.有参数,无返回值 void(^block2)(NSString *str1, NSString *str2) = ^void(NSString *str1, NSString *str2){ NSString *a = [str1 stringByAppendingString:str2]; NSLog( "%" , a); }; block2( "abc" , "def" );//3.有返回值,无参数 NSString *(^block3)(void) = ^NSString *(void){ return "咿呀咿呀呦" ; }; NSLog( "%" ,block3());//4.有参数,有返回值 NSString *(^block4)(NSString *str1) =^NSString *(NSString *str1){ return [str1 stringByAppendingString: "真棒!!!!" ]; }; NSLog( "%" , block4( "苹果电脑" ));//声明一个block,需要传入一个颜色,让当前的view变色 void(^changeColor)(UIColor *color) = ^(UIColor *color){ self.view.backgroundColor = color; };5 单例 传值 单例只会对某个类实例化一次/单例类,对单例这个类实例化一次有且仅有一个对象 你单例初始化,只能初始化一次,然后你指向的对象,其实都是指向一个内存地址,也就是同一块内存,所...

本文地址:https://www.39baobao.com/show/32_77580.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

怎么电脑上玩IOS版的青云志手游IOS如何在电脑上玩?近期很多小伙伴们在问IOS如何在电脑上玩,那么接下来就让小编来告诉大家关于这个青云志手游IOS电脑版下载的方法吧! 青云志手游IOS如何在电脑上玩?...

怎么乐趣上传音乐ios1、首先使用手机录制完音乐后,在手机屏幕中找到“音乐”点击打开。 2、打开“音乐”后,点击个人中心的“本地音乐”。 3、进入到手机“本地音乐”后,点击右上位置的三个小点,选...

ios开发用什么数据库一般的数据量很小的项目,没必要使用数据库,如果只是保存写用户信息,大可以用其他的方法,用keychain或者nsuserdefault或者其他的都可以。任何一个项目都需要保存一个使用状态,不...

ios怎么设置动画效果减弱动态效果”并不是什么新的功能,我们知道打开“减弱动态效果”的开关可以减弱用户界面的动态效果,包括图标的视差效果。与此同时,应用切换卡片的动画也会有所变化。在升级 i...

关于iOS开发转场动画CATransition类实现层的转场动画。你可以从一组预定义的转换或者通过提供定制的CIFilter实例来指定转场效果。 //定义个转场动画 CATransition *animation = [CATransition...

ios sdlayout怎么做动画iOS9.1是苹果公司为iOS 9系统进行的第一次重大更新,那么大家知道iOS9.1动画消失怎么办吗?有没有想要知道的网友们呢?想要知道的网友们下面小编给大家带来的是iOS9.1没有动画效...

ios中scrollview怎么制作看开发文档上说,当手指在content上停留一段时间,并没有移动的话,才会响应content上的手势操作,而不scrolling.我的scrollview是这么设置的:self.myScrollView.delaysContentTouch...

iOS10怎么改游戏存档?iOS10不越狱怎么修改存档iOS8和9游戏存档的方法想必大家都已经知道了,那么新更新的操作iOS10怎么导入游戏存档呢?不越狱怎么修改存档?部分苹果用户在玩游戏的时候想多点乐趣就改下存档什么的,那iOS10要...

ios上有哪些日式大作泽诺尼亚4(ZENONIA 4)是GAMEVIL公司的招牌游戏,这款角色扮演游戏采用了淳朴的2D风格,但在游戏画质上有了大幅提升,达到了iPhone 4 Retina显示屏的显示标准,同时游戏的打击感也更...