2012-03-22 5 views
1

私はapp-magazineのようなipad用のアプリブックを作っています。 ScrollViewを使用していて、多くの1024 * 768イメージ(約100イメージ)をロードしたいのですが(すべてのイメージを一度にロードすると不可能です) 5ページ& 2前ページ& 2次ページ)、他のページを削除します。dispatch_syncを使用してコードをインラインで書くこと(dispatch_syncなしのブロックではない)との違いはありますか?

しかし、私には質問があります。

私は、ページをロードするためのメソッド( 'loadTitlePage')を作成しました。すべてのページをロードするときにこのメソッドを呼び出す必要があります。 したがって、dispatch_asyncではなくdispatch_syncを使用できます。

dispatch_syncを使用してコードを記述する際に、(dispatch_syncなしのブロックではない)行には違いがありますか?

これは私のコードです。

[self loadTitlePage:currentPageNo]; 
dispatch_queue_t dqueue = dispatch_queue_create("scrollLoadTitlePage", NULL); 
dispatch_sync(dqueue, ^{ 
    [self loadTitlePage:currentPageNo-2]; }); 
dispatch_sync(dqueue, ^{ 
    [self loadTitlePage:currentPageNo-1]; }); 
dispatch_sync(dqueue, ^{ 
    [self loadTitlePage:currentPageNo+1]; }); 
dispatch_sync(dqueue, ^{ 
    [self loadTitlePage:currentPageNo+2]; }); 
dispatch_sync(dqueue, ^{ 
    [self removeTitlePage:currentPageNo-3 withNo:currentPageNo+3]; }); 

答えて

1

あなたはここで読むことができます。要するにusing dispatch_sync in Grand Central Dispatch

を... dispatch_syncは、ミューテックスロックと同等..ですあなたのケースで私はどんな違いが

+0

おかげでたくさんあるとは思いません。私は前にリンクページを見た。しかし、私はプログラミングの初心者ですので、少し混乱しました。あなたの答えをありがとう:) – ssongahlee

関連する問題