iOS delegate 實現頁面之間的傳值

來源:互聯網
上載者:User

標籤:

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

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

  現在將用delegate來傳值

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

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

比如右AB兩個頁面,A想要傳值給B ,就只要先在A中得到B的指標,然後將想要傳的值賦給B,之後跳轉,

話不多說上代碼

 

首先我們需要建一個delegate:

 

@protocol PassValueDelegate

 

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

 

@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這個變數

 

iOS delegate 實現頁面之間的傳值

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.