您好,登錄后才能下訂單哦!
通常情況下我們在兩個tableView之間進行的是傳值是單向的,這種傳值方式是不可逆的。
一,如果將Aview里面的值傳遞到Bview里面實現方法如下:
1.1 如果傳遞的是單條數據,在Bview里面定義一個字符串str,用來作為兩個視圖之間
的中介,來接受單條數據。
NSString* str;
1.2 如果傳遞的是多條數據,需要將Aview里面的數據進行封裝,這里就需要定義一個類來封裝這些
數據。NSClassA* object。
Class NSClassA
2 在Aview的跳轉方法中,初始化BView對象,用來接受Aview里面需要傳遞過去的值。
BViewController* bvc = [[BviewController alloc]init]; bvc.str = [label text];
3.在Bview里面控件的初始化時經行相應賦值。
[pushtext setText:str];
二,如果我們把Aview視圖里面的數值傳遞給Bview,Bview里面對改數值進行相應的修改之后,反饋給Aview,這里就不能用到上面那種簡單的傳值了,這里需要使用到代理思想。
1.在Bview里面實現一個協議,這個協議里面有一個setValue方法,這個方法將被用來經行傳遞操作。
@protocol PassDelegate -(void)setValues:(NSString *)str;
2.創建id類型的字段delegete,作用是用來調用setValue方法。
id<PassDelegate>delegate;
3.在Bview里面使用setValue方法進行傳值;
[delegate setValues:[pushtext text]];
4.在Aview視圖里對setValues方法進行重寫
-(void)setValues:(NSString*)str{ [label setText] = str; }
這樣就實現了一個逆向的傳值過程。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。