2016-06-12 22 views
0

私はオブジェクトのリストを持っています。各オブジェクトにはオプションのイメージ値が含まれています。イメージ値は縮小する必要があります。すべての画像が初期化された後でリストを返すようにしたい。それはNSOPerationQueuesと関係がありますか?すべての実行中のブロックを追跡します

func getFullList(list:[AnyObject], completion:(result: [AnyObject]) -> Void { 
    for item in list { 
     downloadImage(item.url), completion: {(image) in 
     item.image = image 
    )} 
    // I know this does not work here 
    completion(result: list) 
} 

答えて

1

未知のコード。

func getFullList(list:[AnyObject], completion:(result: [AnyObject]) -> Void { 
    let group = dispatch_group_create() 

    for item in list { 
     dispatch_group_enter(group) 

     downloadImage(item.url), completion: {(image) in 
      item.image = image 

      dispatch_group_leave(group) 
     } 
    )} 

    dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
     completion(result: list) 
    } 
} 
関連する問題