斌子剛剛接觸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這個變量