ios - 如何调用 id 类型的对象上的方法

标签 ios objective-c

当我尝试调用类型为 id 的对象的方法时,我收到警告(未找到方法)。我如何调用该方法:

Class A *instanceACasted = (ClassA *)idvalue ;

然后调用方法

[instanceACasted methodCall];

这是一种方法,但我不知道使用 id 的类名,我如何调用该方法

最佳答案

您可以使用内省(introspection)和performSelector:

SEL selector = @selector(yourMethodSignature:);
if ([obj respondsToSelector:selector]) {
    [obj performSelector:selector];
}

关于 how to use introspection 的 Apple 文档.

关于ios - 如何调用 id 类型的对象上的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995235/

相关文章:

objective-c - View 应仅显示为纵向模式

ios - 无需夏令时调整即可快速创建 EKEvent

ios - 设置重复本地通知的日期

objective-c - iOS5:willSendRequestForAuthenticationChallenge 方法递归运行

objective-c - 如何检测已选择的 NSTableView 行?

iphone - 核心数据获取与另一个对象有关系的对象

ios - React-Native ScrollView 让 TextInput 消失

iphone - 如何维护 UITableView 中特定按钮的状态(即停止覆盖图像)

iphone - 在 iPhone 设置应用程序中将文本标签添加到 slider

iphone - 如何使用 CLLocationManager 限制应用程序的电池消耗