【转】ios -- ViewController跳转+传值(方式一)
方式一:通过定义一个实体类传值 (从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跳转+传值(方式一)的更多相关文章
- ios常见的页面传值方式
iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值 ...
- iOS学习之六种传值方式
iOS页面传值方式 应用于: 两个互动的界面:1)页面一跳转到页面二,页面一的textField的值传给页面二的label.2)A页面跳转到B页面,B页面再跳转回A页面(注册页面跟登录页面) 两个不互 ...
- iOS学习——页面的传值方式
一.简述 在iOS开发过程中,页面跳转时在页面之间进行数据传递是很常见的事情,我们称这个过程为页面传值.页面跳转过程中,从主页面跳转到子页面的数据传递称之为正向传值:反之,从子页面返回主页面时的数据传 ...
- iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值
有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...
- iOS的四种传值方式
传值有四种方法 : 1. 属性传值 2. 单例传值 3. 代理传值 4. block传值 一.属性传值 (前-->后) 1. 后面的界面定义一个属性 存放前一个界面传过来的值 ...
- ios学习-delegate、传值、跳转页面
ios学习-delegate.传值.跳转页面 1.打开xcode,然后选择ios--Application--Empty Application一个空项目. 项目目录: 2.输入项目名称以及选 ...
- ios 多种传值方式
在网上看了看传值方法,没有找到完整的.在这把自己看到的几种传值方法写写吧. 1 . 属性传值 2 . 通知传值 3 . 代理传值 4 . block传值 5 . 单列传值 6 . ShareAppli ...
- iOS页面传值方式
普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...
- asp.net 页面跳转传值的几种方式
参考地址: http://blog.csdn.net/zzzzzzzert/article/details/8486143 protected void Button1_Click(object se ...
随机推荐
- 在windwo server2008服务器上配置ftp服务器、及配置phpstrom工具、实现项目同步。
在windwo server2008服务器上配置ftp服务器.及配置phpstrom工具.实现项目同步. 在windwo server2008服务器上配置ftp服务器 参考该篇文章:http://bl ...
- VisualStudio2017中新建的ASP.NET Core项目中的各个文件的含义
Program.cs is the entry point for the web application; everything starts from here. As we mentione ...
- 用 _tcscmp 替代 strcmp 或 wcscmp
转自:http://blog.csdn.net/eickandy/article/details/50081537 好处:是可以不管是用unicode 编码还是其他 ,代码都不用改. C++标准库函数 ...
- ps图层混合计算公式
样式效果 http://www.jb51.net/photoshop/104100.html 注释: 1.混合模式的数学计算公式,另外还介绍了不透明度. 2.这些公式仅适用于RGB图像,对于Lab颜色 ...
- 2017-8-31 NOIP模拟赛
可接受序列 [题目描述] 让计算机这样读入一列非负整数: 1.读入数T. 2.接着往下读入T个数. 3.如果数列读完了,则停止,否则,转到1. 但是,往往会出现这样的问题:执行第2步时,数列已经没有T ...
- 2014-9-27 NOIP模拟赛
1.栅栏迷宫 田野上搭建了一个黄金大神专用的栅栏围成的迷宫.幸运的是,在迷宫的边界上留出了两段栅栏作为迷宫的出口.更幸运的是,所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫 ...
- css 文本溢出时显示省略号
.text-ellipsis { width:100px; height:60px; overflow: hidden;//隐藏滚动条 text-overflow:ellipsis; white-sp ...
- Django之用户认证—auth模块
用户认知———auth模块 目录: auth模块 User对象 实例 扩展默认的auth_user表 - 创建超级用户 - python3 manager.py createsuperuser - 认 ...
- NET Core 2.0 微服务跨平台实践
NET Core 2.0 微服务跨平台实践 相关博文: Ubuntu 简单安装 Docker Mac OS.Ubuntu 安装及使用 Consul Consul 服务注册与服务发现 Fabio 安装和 ...
- docker 开启remote api
docker官方文档上有相关说明(Configure and run Docker on various distributions),ubuntu上是可行的 sudo vi /etc/default ...