我知道
detachNewThreadSelector:toTarget:withObject
可以有(id)anArgument。我搜索过它可以用于NSString。
然而,当我传递一个整数或size_t时,它崩溃了。有人能告诉我什么是(id)anArgument?
更重要的是,如何将多个参数传递给线程?例如,我有一个函数,
- (NSInteger)getIneger:(NSInteger)pageNumber withName(NSString *)filename;
这样的事情。 感谢答案 0 :(得分:2)
(id)anArgument
告诉你的是你需要传递一个Objective-C参数。由于整数和size_t都不是Objective-C对象,因此应用程序崩溃。您需要在NSNumber
内打包它才能实现此功能。您还必须更改方法以接收NSNumber
而不是int
。要传递两个或多个参数,我建议您使用NSDictionary
对象来传递基于键的值。您可以定义一个接收NSDictionary
对象的方法,解压缩值并调用您打算调用的原始方法。