iOS 用delegate方式實現頁面之間的傳值 – iPhone手機開發技術文章 iPhone軟體開發教學課程

斌子剛剛接觸IOS今天做項目的時候,遇到一個問題,在跳頁時需要進行傳參數。上網找瞭許多方法,書上也沒有找到很好的方法。所有功能都得自己慢慢摸索。最後找到瞭一個網友的帖子,現在用delegate的方式來實現,實際上delegate傳值的實質就是:比如右AB兩個頁面,A想要傳值給B ,就隻要先在A中得到B的指針,然後將想要傳的值賦給B,之後跳轉,

話不多說直接上代碼。

首先我們需要建一個delegate:

[plain]  

@protocol PassValueDelegate  

– (void)setValue:(NSString *)value;  

@end  

 

然後在A.h裡面定義

[plain]  

  

[plain]  

@interface A:TTTableViewController{  

id<PassValueDelegate> passDelegate;  

  

}  

  

@property(nonatomic, retain) id<PassValueDelegate> passDelegate;  

 

在A.m裡面

@synthesize passDelegate;

我的類不夠直觀,摘別人的文字把)

在跳轉的時候:

[plain] 

buttonClicked:(id) sender{  

B *_b  = [[B alloc] init];  

self.passDelegate = _b;   // 這裡和B進行交互,下一句代碼就是對應的賦值  

[self.passDelegate setValue: NEED_PASS_VALUE];  

 

在B.h裡面

[plain]  

@interface B : NSObject <PassValueDelegate> {  

      

    NSString* _value;  

}  

  

– (void) setValue:(NSString *) value;  

 

在B.m裡面

[plain]  

– (void) setValue:(NSString *) value{  

    _value = value;  

}  

實現瞭這些函數以後

你就在B中得到瞭A傳來的值 也就是_value這個變量

You May Also Like