1. respondstoselector: SEL and performselector: withobject contain a parameter
2. If multiple parameters are required, you can use dictionary encapsulation for multiple parameters.
3. If you really need operation parameters, refer to the three20 extension nsinvocation usage. Multiple parameters and return values can be used.
-(ID) specify mselector :( SEL) selector withobject :( ID) P1 withobject :( ID) P2 withobject :( ID) P3 {nsmethodsignature * Sig = [self methodsignatureforselector: Selector]; If (SIG) {nsinvocation * invo = [nsinvocation invocationwithmethodsignature: SIG]; [invo settarget: Self]; [invo setselector: Selector]; [invo setargument: & P1 atindex: 2]; [invo setargument: & p2 atindex: 3]; [invo setargument: & P3 atindex: 4]; [invo invoke]; If (sig. methodreturnlength) {ID anobject; [invo getreturnvalue: & anobject]; return anobject;} else {return nil ;}}