2011-06-09 20 views
1

我知道ios detachNewThreadSelector,如何與對象?

detachNewThreadSelector:toTarget:withObject

可以有(ID)anArgument。我已經搜索到它可以用於NSString。

但是,當我傳遞一個整數或size_t時,它崩潰了。有人可以告訴我什麼是(id)anArgument?

更重要的是,如何將多個參數傳遞給線程?例如,我有一個函數,

- (NSInteger)getIneger:(NSInteger)pageNumber withName(NSString *)filename;

類似的東西。 謝謝

回答

2

什麼(id)anArgument告訴你是你需要傳遞一個Objective-C參數。由於整數和size_t都不是Objective-C對象,所以應用程序崩潰。您需要將它們打包在NSNumber之內才能使用。您還必須更改採用NSNumber而不是int的方法。要傳遞兩個或更多參數,我建議你使用一個NSDictionary對象來傳遞基於鍵的值。您可以定義一個方法,該方法接受一個NSDictionary對象,解壓縮這些值並調用您打算調用的原始方法。