【转】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 ...
随机推荐
- ffmpeg h264转h265
ffmpeg -i d:\soft\720p.mp4 -c:v libx265 -b:v 5000k d:\soft\myvideo.mp4 这里码率是5000k,编码是h265 h265的解码貌似用 ...
- 运行Spark程序的几种模式
一. local 模式 -- 所有程序都运行在一个JVM中,主要用于开发时测试 无需开启任何服务,可直接运行 ./bin/run-example 或 ./bin/spark-submit 如: ...
- 2017-9-9 NOIP模拟赛
站军姿 2bc*cosA=b^2+c^2-a^2 #include<cstdio> #include<cstdlib> #include<cmath> #inclu ...
- 1366 - Incorrect string value:'\xE5\xBC\xA0\xE4\xB8\x89' for column 'name' a 错误修改
把name的字符集修改成 utf8 ,然后把表关了从新打开,就可以了 如果还不行,就从新创表,在创表的时候修改name的字符集 如果还不行,就修改my.ini 它在你的mysql安装路径里 [mysq ...
- append、replace、replaceAll、indexof、lastIndexOf、substring的用法
1.append StringBuffer buf = new StringBuffer("Hard "): String aString = "Waxworks& ...
- 利用system.reflection遍历一个类的变量成员
假设有下面一个类,在程序中已初始化,如何获取里面的变量成员name,age,onduty及其值呢? public class Employee { public string name; public ...
- java CDI
Scope声明周期 http://www.cnblogs.com/yjmyzz/p/javaee-cdi-bean-scope.html
- 【OGG】OGG的单向DML复制配置(一)
[OGG]OGG的单向DML复制配置(一) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...
- SpringBoot---Web开发---Thymeleaf模板引擎
一.前言 1.JSP在内嵌的Servlet容器中运行有一些问题: 1.1 内嵌的Tomcat.Jetty不支持以jar形式运行JSP: 2.2 Undertow不支持JSP: 2.SpringBoot ...
- docker安装软件
镜像相关命令 1.搜索镜像 # docker search java 可使用 docker search命令搜索存放在 Docker Hub(这是docker官方提供的存放所有docker镜像软件的地 ...