gpt4 book ai didi

ios - 调用从 NSString 返回值的方法?

转载 作者:行者123 更新时间:2023-11-28 20:10:37 24 4
gpt4 key购买 nike

我有一个类方法 (+),它接受 NSString 类型的参数。我想用那个类方法做的是从另一个类方法返回信息,有许多不同的类方法返回不同的东西,我不想使用 switch 或 if-statement 但是像这样:

return [self "ClassMethodName"];

我知道如何使用 @selector() 来完成它,但似乎我不能在类方法中使用它。还有其他方法可以做我想做的事吗?

最佳答案

如果您从类方法中执行此操作,self 是类对象,因此您可以这样做:

+ (id)myClassMethod {
return [self performSelector:NSSelectorFromString(@"ClassMethodName")];
}

如果您是从实例方法中执行此操作,则必须问问自己的类:

- (id)myInstanceMethod {
return [self.class performSelector:NSSelectorFromString(@"ClassMethodName")];
}

如果 ClassMethodName 在编译时已知,当然您可以使用 @selector(ClassMethodName),但我假设您直到运行时才真正知道选择器名称。

请注意,Xcode 不知道 Class 对象是 NSObject 的实例,因此它不会为您自动完成 performSelector:这些案例。

关于ios - 调用从 NSString 返回值的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20433408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com