1. 程式人生 > >iOS中performSelector+@selector多引數傳遞解決方法

iOS中performSelector+@selector多引數傳遞解決方法

關於performSelector傳遞引數一般不能超過2個,但是現實開發中我們有時需要用到傳遞大於2以上的引數,這個時候performSelector就不能滿足要求了。所以這裡總結了開發中解決的辦法,有二種:

1.用NsInvocation代替performSelector可以實現傳遞多個引數

2.就是將引數進行封裝成一個結構體,Class,z字典或其他的集合,然後定義一個傳遞單參的方法也可以實現

1.實現的方法(沒有返回引數的):


呼叫的方法:


返回的結果:


有返回引數的方法:


實現呼叫的方法:


呼叫結果:


2.第二種方法封裝裝成一個結構體,Class,z字典或其他的集合,大家開發的都比較熟悉封裝了,這裡就不要一一列舉出來了,就封裝成陣列來舉例說明一下例如:


實現方法呼叫:


呼叫結果: