gpt4 book ai didi

ios - 使用选择器和 NSSelectorFromString 向对象发送消息

转载 作者:可可西里 更新时间:2023-11-01 03:37:39 25 4
gpt4 key购买 nike

下面会通过respondsToSelector测试,但是SIGABRT在实际调用[viewController selector]或者[viewController action :选择器]。堆栈跟踪状态为“NSInvalidArgumentException,原因:-[MyViewController 选择器]:无法识别的选择器”。

[viewController @selector(selector)] 会导致编译错误(错误:'selector' 前应为 ':')。

When the selector is hard coded, all works well.

如何通过选择器向对象发送消息?

-(void) notifyViewControllers:(NSString*) message
{
if(!message) return;

SEL selector = NSSelectorFromString(message);
if(!selector) return;

NSArray* viewControllers = [self.tabBarController viewControllers];
if(!viewControllers) return;

for (UIViewController* viewController in viewControllers)
{
if(!viewController) continue;

if ([viewController respondsToSelector:selector]) {
// [viewController selector];
[viewController action:selector];
}
}
}

最佳答案

[self performSelector:@selector(notifyViewControllers:) withObject: message];

关于ios - 使用选择器和 NSSelectorFromString 向对象发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531733/

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