为了账号安全,请及时绑定邮箱和手机立即绑定

为什么还要使用performSelector:去调呢?两者有啥区别?

为什么还要使用performSelector:去调呢?两者有啥区别?

iOS
四季花海 2023-04-25 15:11:22
[self method] 与 [self performSelector:@selector(method)]之间的区别如题,既然直接对一个实例发送方法名就可以调用这个方法,那为什么还要使用performSelector:去调呢?两者u有啥区别
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

the performSelector: method allows you to send messages that aren’t determined until runtime.

比如:

id instance = instance_from_other_module();
[instance call_undeclared_method];   // 有编译警告
[instance performSelector:@selector(call_undeclared_method)];

用这个可以避免编译警告。

此外,performSelector的其他变体功能,可以用来延时调用和跨线程调用


查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 222 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信