4

NSOperation1)またはを追加するとどうNSInvocationOperationなりNSoperationQueueますか?

NSoperation2)との違いは何NSInvocationOperationですか?

3) どれが一番いいですか?

4

2 に答える 2

11

1. NSoperation と NSInvocationOperation の違い

NSoperationオブジェクトは単発オブジェクトです。つまり、そのタスクを 1 回実行すると、それを再度実行するために使用することはできません。

NSInvocationOperationクラスは、呼び出しとして指定された単一のカプセル化されたタスクの実行を管理する NSOperation の具体的なサブクラスです。このクラスを使用して、指定されたオブジェクトでセレクターを呼び出す操作を開始できます。このクラスは、非並行操作を実装します。

2.NSoperationQueue に NSOperation または NSInvocationOperation を追加するとどうなるか

通常、操作を操作キュー (NSOperationQueue クラスのインスタンス) に追加することによって、操作を実行します。操作キューは、その操作をセカンダリ スレッドで実行することによって直接実行するか、libdispatch ライブラリ (Grand Central Dispatch とも呼ばれます) を使用して間接的に実行します。

3.どれが一番いい?

ベストという言葉は状況によって変わると思います:)

于 2012-10-16T06:51:02.273 に答える
0

Cocoa Is My Girlfriend には、NSOperation と NSOperationQueue の使用に関する優れたチュートリアルがあります。このチュートリアルでは、NSOperation を使用して、複数の Web ページを別々のスレッドで同時にダウンロードします。

この質問も確認してくださいNSOperation on the iPhone

于 2012-10-16T06:46:15.030 に答える