天天看點

IOS開發(54)之Storyboard之傳值1 前言2 代碼執行個體

1 前言

上一次我們介紹了Storyboard的簡單建立方法,這次我們來介紹一下如何通過Storyboard進行兩個ViewController之間的傳值。

2 代碼執行個體

2.1 建立一個不帶nib檔案ViewController檔案

IOS開發(54)之Storyboard之傳值1 前言2 代碼執行個體

2.2 将Storyboard中的第二個視圖控制器的類設定為建立的SecondView

IOS開發(54)之Storyboard之傳值1 前言2 代碼執行個體

2 .3 為視圖過度的Segue辨別設定一個名稱

IOS開發(54)之Storyboard之傳值1 前言2 代碼執行個體

ZYViewController.m

//通知視圖控制器,繼續将被執行。UIStoryboardSegue:一個UIStoryboardSegue對象負責執行過渡兩視圖控制器。
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    //原視圖控制器
    NSLog(@"Source Controller = %@", [segue sourceViewController]);
    //目标視圖控制器
    NSLog(@"Destination Controller = %@", [segue destinationViewController]);
    //過渡辨別
    NSLog(@"Segue Identifier = %@", [segue identifier]);
    if ([[segue identifier] isEqualToString:@"SimpleSegueToSecondViewController"]){
        ZYSecondViewController *viewController = [segue destinationViewController];
        viewController.str = @"sdfsdfdsfdsfs";
    }
}           

ZYSecondViewController.h

#import <UIKit/UIKit.h>

@interface ZYSecondViewController : UIViewController

@property(nonatomic,copy)NSString *str;

@end           

ZYSecondViewController.m

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view.
    //Test
    NSLog(@"str=======>%@",str);
}

-(void)dealloc{
    [str release];
    [super dealloc];
}           

運作結果:

IOS開發(54)之Storyboard之傳值1 前言2 代碼執行個體

點選Button後控制台結果:

2013-05-09 14:10:15.850 StoryboardsTest[610:c07] Source Controller = <ZYViewController: 0x75668d0>

2013-05-09 14:10:15.850 StoryboardsTest[610:c07] Destination Controller = <ZYSecondViewController: 0x8e25730>

2013-05-09 14:10:15.851 StoryboardsTest[610:c07] Segue Identifier = SimpleSegueToSecondViewController

2013-05-09 14:10:15.852 StoryboardsTest[610:c07] str=======>sdfsdfdsfdsfs

3 結語

以上就是主要内容,希望對大家有所幫助。

Demo代碼下載下傳:http://download.csdn.net/detail/u010013695/5348653