IOS各种传值之一(对象传值)

1:在不同的controllerview之间通过对象进行传值

  //传值方向 从A到B

  //A控制器

界面:

//

//  ViewController.h

//  Index

//

#import <UIKit/UIKit.h>

#import "Person.h"

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UITextField *name;

@property (weak, nonatomic) IBOutlet UITextField *sex;

@property (weak, nonatomic) IBOutlet UITextField *age;

@end

 

//

//  ViewController.m

//  Index

//

#import "ViewController.h"

#import "BController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (IBAction)pushBB:(id)sender {

BController *bc=[[BController alloc]initWithNibName:@"Bcontroller" bundle:[NSBundle mainBundle]];

Person *person=[[Person alloc]init];

person.name=self.name.text;

bc.bsex.text=self.sex.text;

bc.person=person;

[self presentViewController:bc animated:YES completion:nil];

}

//B控制器

#import "ViewController.h"

#import "Person.h"

@interface BController : ViewController

@property (weak, nonatomic) IBOutlet UILabel *bname;

@property (weak, nonatomic) IBOutlet UILabel *bsex;

@property (weak, nonatomic) IBOutlet UILabel *bage;

@property (nonatomic,retain)Person *person;

@end

#import "BController.h"

@interface BController ()

@end

@implementation BController

- (void)viewDidLoad {

[super viewDidLoad];

self.bname.text=self.person.name;

NSLog(@"%@",self.bsex.text);

// Do any additional setup after loading the view.

}

- (IBAction)popBB:(id)sender {

[self dismissViewControllerAnimated:YES completion:nil];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

 

时间: 2024-11-03 21:54:45

IOS各种传值之一(对象传值)的相关文章

String类型传值以及对象传值

package Virtual; class Stan{ String mm = "hello"; } class Virtual { public static void main(String[] args) { Stan s=new Stan(); System.out.println(s.mm); change(s); System.out.println(s.mm); } public static void change(Stan s) { s.mm="say&q

struts复合类型传值(对象传值)

01:导包,配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

【iOS开发-26】利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值

实验说明 (1)正向传值:比如A类里地值要传给B类用,就是我们先在A类中声明一个B类对象(当然B类头文件要import过来),然后把A类中得某个值传递给B类中得某个值(所以需要在B类中先准备一个变量来接受,就是用@property和@synthesize整个变量即可). (2)反向传值:比如需要把B类中的值传递给A类用.我们先在B类中写一个协议,协议里面有一个可以带参数的方法,这个参数就是我们要传递的值(这个协议也可以单独写,不一定写在B类中),然后B类遵循这个协议后,利用这个协议创建一个委托变

iOS 页面间几种传值方式(属性,代理,block,单例,通知)

iOS 页面间几种传值方式(属性,代理,block,单例,通知) 姜糖水 2015-05-03 52 阅读 iOS 移动开发 第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五

ios 得用代理反向传值

应用场景:有时时候从界面A跳转到界面B,界面B在返回的时候需要将处理的结果传递给A. 实现思路:1,定义一个负责传值的协义,界面A拥有该协义属性,并实现该协义中的方法 2,界面B也拥有该协义属性(代理要求两者都具有相同对象的引用 ),然后在返回的时候获取界面A的引用指针,并且指定B中协义的调用目标为A,调用协义中的传值方法. 具体代码: A的头文件 : #import <UIKit/UIKit.h> @protocol passValueDelegate <NSObject> -(

iOS开发之不同界面传值

iOS开发中不可避免要用到不同界面传值,今天就总结下三种传值方法:闭包传值.代理传值和通知传值. 1.闭包传值 如图建立VC1和VC2,com+R运行正常~把VC2的button用Action关联并设置tag. 在VC2中定义一个闭包 var closures: ((clicked: NSString) -> Void)? 设置VC2中三个button的点击事件(这里三个button的tag设置为101,102,103) @IBAction func numBtn(sender: AnyObje

iOS中多视图的传值 属性传值和代理传值

首先创建两个类 ,FirstViewController和SecondViewController,都继承于UIViewController 1 #import "AppDelegate.h" 2 #import "FirstViewController.h" 3 4 @interface AppDelegate () 5 6 @end 7 8 @implementation AppDelegate 9 10 11 - (BOOL)application:(UIAp

20150109--面向对象+对象传值-00

魔术方法 魔术方法也是一种方法,是一种在类内部定义的方法.魔术方法会在某个特定的情况下自动的被对象调用. 构造方法 构造方法就是对象在实例化之后会自动调用的方法. 语法:__construct() 构造方法的意义:给对象的属性进行初始化 兼容性构造方法 在低版本中没有构造方法__construct(),与其他语言一样,构造方法的名字与类名一致 兼容构造方法处理方式 析构方法 析构方法:对象被销毁的时候(销毁前),会自动调用的方法 语法:__destruct() 析构方法的意义:往往是为了释放内存

iOS 页面间几种传值方式(属性,代理,block,单例,通知)

第二个视图控制器如何获取第一个视图控制器的部分信息 例如 :第二个界面中的lable显示第一个界面textField中的文本 这就需要用到属性传值.block传值 那么第一个视图控制器如何获的第二个视图控制器的部分信息 例如:第一个界面中的lable显示第二个界面textField中的文本 这就需要使用代理传值 页面间传值有八大传值方式,下面我们就简单介绍下页面间常用的五种传值方式: (一)属性传值 第二个界面中的lable显示第一个界面textField中的文本 首先我们建立一个RootVie