iOS delegate 實現頁面之間的傳值

最近剛剛接觸ios開發,也沒有一本好的書能夠閱讀,全部的功能都只能靠本身的摸索實現。這兩天在作多個頁面之間的跳轉和傳值問題,ios

頁面跳轉看我另外一篇文章http://blog.csdn.net/xiaotanyu13/article/details/7711954函數

  如今將用delegate來傳值atom

一開始看網上的資源有些看不懂,總感受很高深的樣子.net

後來一想,實際上delegate傳值的實質就是:指針

好比右AB兩個頁面,A想要傳值給B ,就只要先在A中獲得B的指針,而後將想要傳的值賦給B,以後跳轉,blog

話很少說上代碼資源

 

首先咱們須要建一個delegate:開發

 

@protocol PassValueDelegateget

 

- (void)setValue:(NSString *)value;it

 

@end

 
其實這個主要是爲了更好的管理你須要傳遞什麼值
而後
而後在A.h裏面定義
@interface A:TTTableViewController{
id<PassValueDelegate> passDelegate;

}

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

在A.m裏面
@synthesize passDelegate;
(個人類不夠直觀,摘別人的文字把)
 
而後在須要跳轉的時候,
buttonClicked:(id) sender{
B *_b  = [[B alloc] init];
self.passDelegate = _b;   // 這裏和B進行交互,下一句代碼就是對應的賦值
[self.passDelegate setValue: NEED_PASS_VALUE];
 
在B.h裏面
@interface B : NSObject <PassValueDelegate> {
    
    NSString* _value;
}

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

在B.m裏面

- (void) setValue:(NSString *) value{
    _value = value;
}

 

實現了這些函數之後

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

相關文章
相關標籤/搜索