2016-03-30 13 views
1

が、私は方法を宣言した実行取得されていませんダウンロード、それはNSLogを実行していません。 私が間違っている場所を教えてください。ブロックは次のように

+1

あなたはコールコンプリート()が必要です。サイドのダウンロードCSV:機能実装。または、補完ブロックを別の関数またはプロパティに渡して、call completion();を呼び出します。すべてのタスクが完了したとき。 – larva

+0

@ABáoはいバオ!私は同じことをして、今働いている!ご回答有難うございます! :-) – Developer

答えて

3

あなたのブロックは、呼び出ししようとしていないため呼び出されていません。

次のメソッドは、パラメータとしてブロックを受け取り、順番に、[Singleton downloadCSVFilesFromServer:]を呼び出しますが、それは、このメソッドにブロックを渡しませんし、それを自分自身を呼び出すことはありません。

- (void)downloadCSVs:(void (^)(void))completion 
{ 
    [[Singleton sharedData] downloadCSVFilesFromServer:<MY_URL>]; 
} 

あなたは[Singleton downloadCSVFilesFromServer:]を拡張する必要がありますブロックパラメーターを受け入れ、完了したら呼び出すメソッドです。

+0

お返事ありがとうございます。ブロックを明示的に呼び出さなかったので、今は動作しています。私はその方法を呼んだので、それ自体が呼び出されると思った。しかし、あなたが何を意味したのかを説明してください。--------------- [Singleton downloadCSVFilesFromServer:]メソッドを拡張して、ブロックパラメータ---------を受け入れる必要があります。 ----------------? – Developer

+0

@Developerそのメソッドに 'completion'パラメータを追加し、完了したらそれを呼び出さなければなりません。私はそれが非同期メソッドだと仮定していますか? – trojanfoe

+0

同期メソッドはありませんが、後で非同期メソッドにします。あなたは私に構文を知らせてくれますか?-------------------その方法に補完パラメータを追加する必要があります------------ ----。私はすでに私の方法の宣言にそれを加えたと思う。一度チェックしていただけますか? – Developer

関連する問題