iOS開發之---傳值大全

來源:互聯網
上載者:User

標籤:

通知/代理/block都可以傳值

(順傳倒傳都可以)

一 順傳 用屬性傳值最簡單明了

二 逆傳 用block更簡潔

三 通知傳值使用情境
    1- 很多控制器都需要知道一個事件,應該用通知(傳遞參數的過程就是傳值);
    2 - 相隔多層的兩個控制器之間傳值

———————————————————————————————————————————————————————————
8種傳值方式
(很全面,不知道誰整理的,先謝謝.拿過來大家共同學習)

 ?定義初始化方法在UI中,?般都是用在一個介面去推送另?個界?的時候,總之你要想到既然要?自訂初始化方法,?至少能夠要在當前方法中去建立該對象。所以這種方式不適合回調。

 1 ?定義初始化方法,將需要傳遞的內容作為參數,如果需要傳遞多個,則設定多個參數.

 2 在合適的地方進?調用?定義初始化?法。



代理傳值:(順傳倒傳都行)

  1>擬定?份協議(命名一般是XXXDelegate),協議裡面的?法的參數取決於你要傳遞的內容

  2>設定代理人屬性(再次強調,使用assign防?循環參考)

  3>在需要調?的地?調?,這?步比較抽象,?如上面所講例?子,我們是需要在button點擊的時候

  4>傳值並且取消介面,所以我們的delegate就在這個?面的進?調用

  5>讓相應的對象成為代理人,?般都是在建立的時候指定一個代理?

  6>遵守協議,並且實現相應的方法,然後在方法中進行邏輯處理


 
單例傳值:(順傳倒傳都行) 單例的好處就在於只要建立了一次,其餘任何時候訪問到的對象都是同一個,所以很多時候?使用者的?一些資訊都是儲存到單例中,這樣就不需要多次進?行傳值了,只需要再次創 建單例就可以了



屬性傳值:(順傳)
1 需要定義公開屬性
2 需要?個你需要傳值的對象
3 進行屬性賦值



通知傳值:(順傳倒傳都行)
第三個介面的值傳給第?個介面。
1. 在第?個介面建?一個通知中樞, 通過通知中?,註冊一個監聽事件
2. 在第一個界?中,設定接收到通知的事件。
3. 在第?個界?面中的dealloc中, 將通知中樞remove掉
4. 在第三個介面中, 建?一個通知中樞, 通過通知中樞, 發送通知(發送通知的過程就是傳值的過程,將要傳輸的值作為object的值傳給第一個介面



AppDelegate傳值:
在AppDelegate中聲明?一個屬性
通過AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate] 儲存屬性 通過AppDelegate *app = [UIApplication sharedApplication].delegate 使用屬性



block傳值:(順傳倒傳都行) block同樣用於回調

1  為block取別名,並且在參數列表中將需要傳遞的參數寫成形參

2  設定block屬性(注意使用copy)

3  設定?個?法持有當前block

4  在合適的地方進行調?類似於代理

5  在建立該對象的地方進行block?面的調用



NSUserDefault或?件傳值:(順傳倒傳都行)

[[NSUserDefaults standardUserDefaults] objectForKey:]

初始化傳值:(順傳:)

倒傳需要在”ViewDidAppear””ViewWillAppear”中

 

iOS開發之---傳值大全

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.