iPhone開發 動態調用類和方法

來源:互聯網
上載者:User

iPhone開發 動態調用和方法是本文要介紹的內容,不多說,我們先來看內容。

舉一個很簡單的例子:

某公司的有1000名員工, 每個員工的工資都不一樣. 發工資的時候, 這要是人工去發, 耗費的時間和精力是非常大的. 所以財務會打一個表格給銀行, 委託銀行轉賬.

站在銀行的角度, 如果有1000個公司, 委託銀行轉賬發工資. 它應該怎麼做呢? 它需要通過電子轉賬系統, 輸入公司名字, 每個員工的工資數, 就可以實現自動轉賬了.

好, 我們回到 iPhone 開發上來:

我們現在面臨的情況是, 有10個類, 每個類裡頭都有n個方法(前提是方法名有規律可循,比如 setA0,setA1…) 如果挨個去init類, 然後挨個調用方法,這樣你一天就不用幹別的了.

ObjC裡面,我們可以這樣實現:

有數組: classNames, 存著 類的名字

方法名都是 setA 開頭

 
  1. for (int c=0; c<[classNames count]; c++) {  
  2.  
  3. NSString *className=[classNames objectAtIndex:c];  
  4.  
  5. id class=[[NSClassFromString(className) alloc] init];  
  6.  
  7. for (int i=0; i<[params count]; i++) {  
  8.  
  9. [class performSelector:NSSelectorFromString([NSString stringWithFormat:@"setA%i",i])];  
  10. }  

兩個重要的宏 我加大字型標出來了,然後你可以再發揮一下, 比如傳參數

小結:iPhone開發 動態調用和方法的內容介紹完了,希望本文對你有所協助。

聯繫我們

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