2011-11-03 30 views
1

我正在下载和解析XML文档。在此期间,我想更新我的UIProgressView。我知道我必须在主线程中执行此操作,而不是在文档被解析的后台线程中执行此操作。后台主题 - >更新UI

但我的问题是,当我试试这个:

[self performSelectorOnMainThread:@selector(setProgressStr) withObject:[NSString stringWithFormat:@"%f", updateTo] waitUntilDone:NO]; 

我通过的NSString发送,因为持股量将无法正常工作。但现在我得到了下一个错误:

-[TDFetch setProgressStr]: unrecognized selector sent to instance 0x6b9a700 

我在做什么错?

+0

可能重复http://stackoverflow.com/questions/4523357/iphone-notification-results-in-unrecognized-选择器发送到实例)也[iPhone无法识别选择器](http://stackoverflow.com/questions/7284116/iphone-unrecognized-selector) –

回答

4

如果您尝试使用的方法带有参数,那意味着它的名称中含有冒号 - 冒号实际上是名称的零件。你需要包括,当你得到的选择器:

@selector(setProgressStr:) 
+0

-.-“”我以为我检查了这个原因,但后来改变名称,并删除冒号 – dododedodonl

2

看起来你忘了':'后的选择器的名称。 尝试

[self performSelectorOnMainThread:@selector(setProgressStr:) withObject:[NSString stringWithFormat:@"%f", updateTo] waitUntilDone:NO]; 
的[iphone通知导致“无法识别的选择发送到实例...”(