我有一個方法應該返回一個在後臺線程中填充的數組。我想等返回語句,直到數組完全填充。我會怎麼做?我知道如何處理沒有返回類型的數據,但我想調用此函數並獲取已填充的數組。如何從後臺線程返回數據?
例(在這裏,陣列結束了空,因爲它返回填充陣列之前 - 我想做些什麼來回報人口陣列):
-(NSArray*)fetchSomeArray{
__block NSArray *arrayToReturn;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,(unsigned long)NULL), ^(void) {
NSArray *someArray = ...; // getting some array from database
arrayToReturn = [NSMutableArray new];
for(int i=0;i<someArray.count;i++){
[arrayToReturn addObject:...];
}
});
return arrayToReturn;
}
我希望這是可能的另一種方式,好像它是不是。代表團是我要走的路,謝謝。 – 2013-02-25 17:18:46