我正在下载并解析XML文档。在此期间,我想更新我的UIProgressView。我知道我必须在主线程中执行此操作,而不是在解析文档的后台线程中执行此操作。
但我的问题是,当我尝试这个时:
[self performSelectorOnMainThread:@selector(setProgressStr) withObject:[NSString stringWithFormat:@"%f", updateTo] waitUntilDone:NO];
我通过NSString发送它,因为浮点不起作用。但现在我得到了下一个错误:
-[TDFetch setProgressStr]: unrecognized selector sent to instance 0x6b9a700
我做错了什么?
答案 0 :(得分:4)
如果您尝试使用的方法带有参数,则表示名称中包含冒号 - 冒号实际上是名称的部分。当你拿到选择器时需要包含它:
@selector(setProgressStr:)
答案 1 :(得分:2)
看起来你忘记了选择器名称之后的':'。 试试
[self performSelectorOnMainThread:@selector(setProgressStr:) withObject:[NSString stringWithFormat:@"%f", updateTo] waitUntilDone:NO];