gpt4 book ai didi

iphone - iOS - 如何实现带有多个参数和 afterDelay 的 performSelector?

转载 作者:IT王子 更新时间:2023-10-29 07:30:06 27 4
gpt4 key购买 nike

我是 iOS 新手。我有一个选择器方法如下 -

- (void) fooFirstInput:(NSString*) first secondInput:(NSString*) second
{

}

我正在尝试实现这样的东西 -

[self performSelector:@selector(fooFirstInput:secondInput:) withObject:@"first" withObject:@"second" afterDelay:15.0];

但这给了我一个错误说-

Instance method -performSelector:withObject:withObject:afterDelay: not found

关于我遗漏了什么有什么想法吗?

最佳答案

就我个人而言,我认为更接近您需求的解决方案是使用 NSInvocation。

像下面这样的东西将完成工作:

indexPathdataSource 是在同一个方法中定义的两个实例变量。

SEL aSelector = NSSelectorFromString(@"dropDownSelectedRow:withDataSource:");

if([dropDownDelegate respondsToSelector:aSelector]) {
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[dropDownDelegate methodSignatureForSelector:aSelector]];
[inv setSelector:aSelector];
[inv setTarget:dropDownDelegate];

[inv setArgument:&(indexPath) atIndex:2]; //arguments 0 and 1 are self and _cmd respectively, automatically set by NSInvocation
[inv setArgument:&(dataSource) atIndex:3]; //arguments 0 and 1 are self and _cmd respectively, automatically set by NSInvocation

[inv invoke];
}

关于iphone - iOS - 如何实现带有多个参数和 afterDelay 的 performSelector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439052/

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