iPhone開發(fā) 動態(tài)調(diào)用類和方法
iPhone開發(fā) 動態(tài)調(diào)用類和方法是本文要介紹的內(nèi)容,不多說,我們先來看內(nèi)容。
舉一個很簡單的例子:
某公司的有1000名員工, 每個員工的工資都不一樣. 發(fā)工資的時候, 這要是人工去發(fā), 耗費的時間和精力是非常大的. 所以財務會打一個表格給銀行, 委托銀行轉(zhuǎn)賬.
站在銀行的角度, 如果有1000個公司, 委托銀行轉(zhuǎn)賬發(fā)工資. 它應該怎么做呢? 它需要通過電子轉(zhuǎn)賬系統(tǒng), 輸入公司名字, 每個員工的工資數(shù), 就可以實現(xiàn)自動轉(zhuǎn)賬了.
好, 我們回到 iPhone 開發(fā)上來:
我們現(xiàn)在面臨的情況是, 有10個類, 每個類里頭都有n個方法(前提是方法名有規(guī)律可循,比如 setA0,setA1…) 如果挨個去init類, 然后挨個調(diào)用方法,這樣你一天就不用干別的了.
ObjC里面,我們可以這樣實現(xiàn):
有數(shù)組: classNames, 存著 類的名字
方法名都是 setA 開頭
- for (int c=0; c<[classNames count]; c++) {
- NSString *className=[classNames objectAtIndex:c];
- id class=[[NSClassFromString(className) alloc] init];
- for (int i=0; i<[params count]; i++) {
- [class performSelector:NSSelectorFromString([NSString stringWithFormat:@"setA%i",i])];
- }
- }
兩個重要的宏 我加大字體標出來了,然后你可以再發(fā)揮一下, 比如傳參數(shù)
小結(jié):iPhone開發(fā) 動態(tài)調(diào)用類和方法的內(nèi)容介紹完了,希望本文對你有所幫助。