心灵传说r ios 汉化从后往前传值传不过来怎么回事

IOS 页面属性传值、委托传值、单例传值
IOS 页面属性传值、委托传值、单例传值
发布时间: 6:44:32
编辑:www.fx114.net
本篇文章主要介绍了"IOS 页面属性传值、委托传值、单例传值",主要涉及到IOS 页面属性传值、委托传值、单例传值方面的内容,对于IOS 页面属性传值、委托传值、单例传值感兴趣的同学可以参考一下。
IOS 页面属性传值、委托传值、单例传值
15:13&9人阅读&评论(0)&收藏&举报
页面属性传值委托传值单例传值
&一委托传值:
ViewController.h文件中
//& ViewController.h
//& 9.10ch-08委托传值
//& Created by ibokan on 13-9-9.
//& Copyright (c) 2013年 wzf. All rights reserved.
#import &UIKit/UIKit.h&
#import &DataProtocol.h&//协议名称
@interface ViewController : UIViewController&DataProtocol&
@property (retain, nonatomic) IBOutlet UITextField *
- (IBAction)BT:(UIButton *)
ViewController.m文件中
#import &ViewController.h&
#import &Data.h&//单例传值
#import &EditViewController.h&
- (IBAction)BT:(UIButton *)sender {
&&& EditViewController *EDVC=[[EditViewController alloc] initWithNibName:@&EditViewController& bundle:[NSBundle mainBundle]];
&& // [Data Defoultdata].str=self.outlable.//单例传值
&& //属性传值
&& EDVC.first=self.outlable.
&& EDVC.delegate=
&&& [self presentViewController:EDVC animated:YES completion:nil];
&&& [EDVC release];
-(void)editData:(NSString *)str
&&& //str传过来的值赋值给outlable
&&&& self.outlable.text=
EditViewController.h
//& EditViewController.h
//& 9.10ch-08委托传值
//& Created by ibokan on 13-9-9.
//& Copyright (c) 2013年 wzf. All rights reserved.
#import &UIKit/UIKit.h&
#import &DataProtocol.h&
#import &Data.h&
@interface EditViewController : UIViewController
@property (retain ,nonatomic)NSString *//接收第一个页面传来的值
- (IBAction)backBT:(UIButton *)
@property(retain,nonatomic)id &DataProtocol&//添加委托对象
@property (retain, nonatomic) IBOutlet UITextField *E
&&&&&&&&&&&& EditViewController.h
- (void)viewDidLoad
&&& [super viewDidLoad];
&&& // Do any additional setup after loading the view from its nib.
&&& //-------委托传值---------
&& self.Edittextfiled.text=self.
&&& //------------单例传值
&& // self.Edittextfiled.text=[Data Defoultdata].
EditViewController.m
- (IBAction)backBT:(UIButton *)sender {
&& [self.delegate editData:self.Edittextfiled.text];//委托传值
&& //[Data Defoultdata].str=self.Edittextfiled.//单例传值
&&& [self dismissViewControllerAnimated:YES completion:nil];
& DataProtocol.h协议
//& 9.10ch-08委托传值
//& Created by ibokan on 13-9-9.
//& Copyright (c) 2013年 wzf. All rights reserved.
#import &Foundation/Foundation.h&
@protocol DataProtocol &NSObject& &
-(void)editData:(NSString *)@end
//& Data.h单例传值
#import &UIKit/UIKit.h&
//单例传值
@interface Data : UIViewController
@property(nonatomic,retain)NSString *
+(Data *)D
Data.m单例传值
static Data *//定义一个 静态属性
+(Data *)Defoultdata
&&& if (data==nil) {
&&&&&&& data=[[Data alloc]init];
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:3622人阅读
iOS开发(85)
①在后面控制器的 .h文件 中声明block
// 一会要传的值为NSString类型
typedef void (^newBlock)(NSString *);
@interface NewViewController :
UIViewController
// 声明block属性
@property (nonatomic,
copy) newBlock
// 声明block方法
- (void)text:(newBlock)
②在后面控制器的 .m文件 中设置block
// 设置block,设置要传的值
- (void)text:(newBlock)block
& & self.block =
- (void)viewWillDisappear:(BOOL)animated
& & [super
viewWillDisappear:YES];
& & if (self.block !=
& & & & self.block(@&呵呵&);
③在前面控制器的 .m文件 中接收传来的值
#import &ViewController.h&
#import &NewViewController.h&
@interface
ViewController ()
@implementation ViewController
- (void)viewDidLoad {
& & [super
viewDidLoad];
& & UIButton *button = [UIButton
buttonWithType:(UIButtonTypeRoundedRect)];
& & button.frame =
CGRectMake(0,
100, 100, 100);
& & button.backgroundColor = [UIColor
redColor];
& & [button addTarget:self
action:@selector(push)
forControlEvents:(UIControlEventTouchUpInside)];
& & [self.view
addSubview:button];
- (void)push
& & NewViewController *newVC = [[NewViewController
接收block传来的值
& & newVC.block = ^(NSString *str){
& & & & NSLog(@&%@&, str);
& & [self.navigationController
pushViewController:newVC animated:YES];
- (void)didReceiveMemoryWarning {
& & [super
didReceiveMemoryWarning];
& & // Dispose of any resources that can be recreated.
④最终实现效果:在控制台打印出了&呵呵&
& & 到此,block完成传值
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:135300次
积分:2340
积分:2340
排名:第14087名
原创:82篇
转载:10篇
评论:24条
(2)(1)(9)(28)(49)(4)Pages: 1/3
主题 : 传值传不过去。。。。。。。。。。。
级别: 新手上路
UID: 552504
可可豆: 123 CB
威望: 96 点
在线时间: 49(时)
发自: Web Page
来源于&&分类
传值传不过去。。。。。。。。。。。&&&
为啥用self.navigationController PUSH之前,创建的viewController的allocinit方法走完不走viewdidload?  而用self presentViewController之前viewController的allocinit方法之后会走viewdidload。。。?  这样会导致我的值用属性传不过去
级别: 圣骑士
UID: 519631
可可豆: 1481 CB
威望: 927 点
在线时间: 1038(时)
发自: Web Page
跳转代码po出来
关注iOS开发者公众号了解更多开发干货
级别: 新手上路
UID: 552504
可可豆: 123 CB
威望: 96 点
在线时间: 49(时)
发自: Web Page
回 1楼(ad0ma) 的帖子
你看,present的时候,之前创建的VC走了allocinit方法之后,直接走了viewdidload,导致我的值传不过去。。而用navigationcontroller&&PUSH的时候,之前创建的VC 走了allocinit方法不会走viewdidload,所以能传值过去
图片:2441BDAB-EA17-820DCDA52B.png
级别: 新手上路
UID: 552504
可可豆: 123 CB
威望: 96 点
在线时间: 49(时)
发自: Web Page
回 2楼(Eonly_chen) 的帖子
&&这是下面的图navigationcontrollerPUSH的图
级别: 新手上路
UID: 552504
可可豆: 123 CB
威望: 96 点
在线时间: 49(时)
发自: Web Page
回 1楼(ad0ma) 的帖子
。。。。。。。。。。。。。。。
图片:27D9E4D5-76B2-493D-ACF0-21F.png
级别: 圣骑士
UID: 519631
可可豆: 1481 CB
威望: 927 点
在线时间: 1038(时)
发自: Web Page
打断点看一下,是哪个赋值触发了viewdidload
关注iOS开发者公众号了解更多开发干货
级别: 圣骑士
UID: 519631
可可豆: 1481 CB
威望: 927 点
在线时间: 1038(时)
发自: Web Page
关注iOS开发者公众号了解更多开发干货
级别: 新手上路
UID: 552504
可可豆: 123 CB
威望: 96 点
在线时间: 49(时)
发自: Web Page
回 5楼(ad0ma) 的帖子
打过断点了,allocinit之后直接跳到viewdidload,还没有到赋值的时候。。。
级别: 侠客
UID: 551878
可可豆: 220 CB
威望: 155 点
在线时间: 54(时)
发自: Web Page
做人没有梦想的话,跟咸鱼有什么区别!
级别: 精灵王
UID: 523182
可可豆: 2148 CB
威望: 1812 点
在线时间: 669(时)
发自: Web Page
回 2楼(Eonly_chen) 的帖子
不会啊,不然你可以换一种init传值试下,你这应该是可以的啊,我一般都是这么做
Pages: 1/3
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 炉石传说ios手机版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信