使用performSelectorOnMainThread iOS在调用中强制转换对象
如果我使用使用performSelectorOnMainThread iOS在调用中强制转换对象,ios,performselector,Ios,Performselector,如果我使用 [self performSelectorOnMainThread:@selector(uploadDidEnd:) withObject:foo waitUntilDone:YES] 在方法中-(void)uploadDidEnd:(id)sender 哪个对象是发送者?在调用中,foo是自定义类吗?如何在对象中转换此发件人 我在试着投,但我有 '-[_NSThreadPerformInfo CountY]: unrecognized selector sent
[self performSelectorOnMainThread:@selector(uploadDidEnd:) withObject:foo
waitUntilDone:YES]
在方法中-(void)uploadDidEnd:(id)sender
哪个对象是发送者?在调用中,foo是自定义类吗?如何在对象中转换此发件人
我在试着投,但我有
'-[_NSThreadPerformInfo CountY]: unrecognized selector sent to instance 0x52bbd0'
在通知中,我使用从发件人到NSNotification的强制转换,通知具有object属性,但对于NSThread,我没有找到
谢谢
发送方的参数是传递给方法的唯一参数。performSelectorOnMainThread:withObject:waitUntilDone:将withObject
之后的参数传递给要执行的选择器,因此是,此处foo
将传递给UploadDiEnd:
发送方的参数是传递给方法的唯一参数。performSelectorOnMainThread:withObject:waitUntilDone:将withObject
之后的参数传递给要执行的选择器,因此是,此处foo
将传递给UploadDiEnd:
[self performSelectorOnMainThread:@selector(uploadDidEnd:)
withObject:foo
waitUntilDone:YES]
类似于:
[self uploadDidEnd:foo];
你确定这就是你想要做的吗
如果是这样:在您的uploadDiEnd:
实现中,您可以将foo强制转换为任何对象类型:
- (void)uploadDidEnd:(id)sender
{
FooClass *foo = (FooClass *)sender;
[foo doSomething]; // or whatever
}
你可以想到:
[self performSelectorOnMainThread:@selector(uploadDidEnd:)
withObject:foo
waitUntilDone:YES]
类似于:
[self uploadDidEnd:foo];
你确定这就是你想要做的吗
如果是这样:在您的uploadDiEnd:
实现中,您可以将foo强制转换为任何对象类型:
- (void)uploadDidEnd:(id)sender
{
FooClass *foo = (FooClass *)sender;
[foo doSomething]; // or whatever
}
但是我如何在调用的方法中获取传递的对象foo?您想如何“获取”它?它就在参数中。但是我如何在调用的方法中获取传递的对象foo?您想如何“获取”它?就在争论中。