致电时,您的表现是否有任何重大差异?

[someObject performSelector:@selector(testMethod:) withObject:anotherObject];


[someObject testMethod:anotherObject];

最佳答案

第一种会导致对objc_msgSend()的额外调用,而在第二种情况下则不需要。

除非您尽可能快地调用所述方法几千次,并且您没有在testMethod:中做任何重要的工作,否则性能差异不会造成太大的影响。

IE。除非您衡量实际的性能问题,否则不要担心。

10-08 06:09