方式一:通过定义一个实体类传值 (从ViewController1 跳转至 ViewController2)

1、定义实体类NotificationEntity

.h声明文件

#import <Foundation/Foundation.h>

@interface NotificationEntity : NSObject

{

}

@property (nonatomic,retain) NSString *strTitle; //参数一

@property (nonatomic,retain) NSString *strContent; // 参数二

@property (nonatomic,retain) NSString *strUrl; //参数三

@end

.m实现文件

#import "NotificationEntity.h"

@implementation NotificationEntity

@synthesize strTitle=_strTitle;

@synthesize strContent=_strContent;

@synthesize strUrl=_strUrl;

@end

2、在ViewController2中

在.h文件中声明实体类NotificationEntity为ViewController2的类成员变量:

@property (retain,nonatomic) NotificationEntity *mNotifEntity;

在.m文件中通过@synthesize为成员变量mNotifEntity合成存取方法:

@synthesize mNotifEntity=_mNotifEntity;

3、在ViewController1中实现跳转并传递参数

// 组装实体类的实例变量

NotificationEntity *mNotificationEntity = [[NotificationEntity alloc] init];

[mNotificationEntity setStrTitle:strTitle];

[mNotificationEntity setStrContent:strContent];

[mNotificationEntity setStrUrl:strUrl];

// 实例化ViewController2

ViewController2 *viewController2 = [[ViewController2 alloc] init];

// 注入参数

[viewController2 setMNotifEntity:mNotificationEntity];

// 跳转

[self.window.rootViewController presentModalViewController:viewController2 animated:YES];

4、在ViewController2中接收参数:

- (void)viewDidLoad

{

[super viewDidLoad];

[self.lblTitle setText:[self.mNotifEntity strTitle]];

[self.lblContent setText:[self.mNotifEntity strContent]];

}

5、在ViewController2中加入返回ViewController1的事件:

- (IBAction)backOff:(id)sender

{

[self dismissModalViewControllerAnimated:YES];

}

在好多博文中看到@synthesize,下面对这个标志做一下说明:

1.在Xcode4.5及以后的版本中,可以省略@synthesize ,编译器会自动帮你加上getter 和 setter 方法的实现,并且默认会去访问

_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age的私有成员变量。

from :http://blog.csdn.net/wanggsx918/article/details/19546987?utm_source=tuicool&utm_medium=referral

【转】ios -- ViewController跳转+传值(方式一)的更多相关文章

  1. ios常见的页面传值方式

    iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值 ...

  2. iOS学习之六种传值方式

    iOS页面传值方式 应用于: 两个互动的界面:1)页面一跳转到页面二,页面一的textField的值传给页面二的label.2)A页面跳转到B页面,B页面再跳转回A页面(注册页面跟登录页面) 两个不互 ...

  3. iOS学习——页面的传值方式

    一.简述 在iOS开发过程中,页面跳转时在页面之间进行数据传递是很常见的事情,我们称这个过程为页面传值.页面跳转过程中,从主页面跳转到子页面的数据传递称之为正向传值:反之,从子页面返回主页面时的数据传 ...

  4. iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值

    有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...

  5. iOS的四种传值方式

    传值有四种方法 : 1. 属性传值 2. 单例传值 3. 代理传值 4. block传值     一.属性传值   (前-->后) 1. 后面的界面定义一个属性  存放前一个界面传过来的值    ...

  6. ios学习-delegate、传值、跳转页面

    ios学习-delegate.传值.跳转页面     1.打开xcode,然后选择ios--Application--Empty Application一个空项目. 项目目录: 2.输入项目名称以及选 ...

  7. ios 多种传值方式

    在网上看了看传值方法,没有找到完整的.在这把自己看到的几种传值方法写写吧. 1 . 属性传值 2 . 通知传值 3 . 代理传值 4 . block传值 5 . 单列传值 6 . ShareAppli ...

  8. iOS页面传值方式

    普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...

  9. asp.net 页面跳转传值的几种方式

    参考地址: http://blog.csdn.net/zzzzzzzert/article/details/8486143 protected void Button1_Click(object se ...

随机推荐

  1. HDU - 6025 Coprime Sequence(gcd+前缀后缀)

    Do you know what is called ``Coprime Sequence''? That is a sequence consists of nnpositive integers, ...

  2. GridView_RowDataBound 常用方法

    1.这个就不用说,鼠标经过行颜色变化 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)    { ...

  3. C#Timer停不住

    System.Timers.Timer timer1 = new System.Timers.Timer(); timer1.Interval = ; //1天循环一次 timer1.Elapsed ...

  4. VS~通过IIS网站启用"域名"调试

    在我们开发网站时,对某些信息进行序列化时,通常使用session,cookies,nosql等技术,而为了安全,我们在服务器上很多情况都做了防止盗链的设计,这给本机调试带来了不便,因为,本机都是以lo ...

  5. poj1088(記憶化搜索)

    題目鏈接:http://poj.org/problem?id=1088 題意:中文題誒- 思路:dfs,不過直接dfs因該會超時,那我們給他加個記錄路徑就好了... 代碼: #include < ...

  6. 51nod1102(单调栈/预处理)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 题意:中文题诶- 思路:单调栈/预处理 (这篇博客就不 ...

  7. IntelliJ IDEA 安装golang 插件

    作者的机器为mac OS 用户首先需要在自己的个人机器上安装好 golang 的环境,详细可以参考  hyperledger fabric 1.0.5 分布式部署 (一)安装 golang 的部分. ...

  8. argparse 在深度学习中的应用

    argparse 介绍 argparse模块主要用来为脚本传递命令参数功能,使他们更加灵活. 代码: parser = argparse.ArgumentParser() #建立解析器,必须写 par ...

  9. java 同时安装多版本问题(转)

    描述:刚到新公司,自己安装了jdk1.7和开发工具myeclipse10,但是由于公司项目的需要(具体原因不详细描述了),需要使用myeclipse6.5和jdk1.6.于是在切换jdk1.7和jdk ...

  10. 洛谷P2939 [USACO09FEB]改造路Revamping Trails

    题意翻译 约翰一共有\(N\))个牧场.由\(M\)条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场\(1\)出发到牧场\(N\)去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰 ...