Instance Method インスタンスメソッド

start()

Begins the execution of the operation. オペレーションの遂行を開始します。

Declaration 宣言

func start()

Discussion 議論

The default implementation of this method updates the execution state of the operation and calls the receiver’s main() method. This method also performs several checks to ensure that the operation can actually run. For example, if the receiver was cancelled or is already finished, this method simply returns without calling main(). (In OS X v10.5, this method throws an exception if the operation is already finished.) If the operation is currently executing or is not ready to execute, this method throws an NSInvalidArgumentException exception. In OS X v10.5, this method catches and ignores any exceptions thrown by your main() method automatically. In macOS 10.6 and later, exceptions are allowed to propagate beyond this method. You should never allow exceptions to propagate out of your main() method. このメソッドの省略時の実装は、オペレーションの遂行状態を更新します、そしてレシーバのもつmain()メソッドを呼び出します。このメソッドはまた、幾つかの検査を実行してそのオペレーションが実際に実行できることを確かなものにします。例えば、レシーバがキャンセルされたまたはすでに終了されたならば、このメソッドはmain()を呼び出すことなく単に復帰します。(OS X 10.5では、このメソッドはオペレーションが既に終了したならば例外をスローします。)オペレーションが現在遂行中であるまたは遂行がまだならば、このメソッドはNSInvalidArgumentException例外をスローします。OS X 10.5では、このメソッドはmain()メソッドによってスローされるあらゆる例外を自動的にキャッチして無視します。macOS 10.6以降では、遂行はこのメソッドを越えて伝わることを許可されます。あなたは、決して例外にあなたのmain()メソッドの外に伝わることを許可すべきではありません。

If you are implementing a concurrent operation, you must override this method and use it to initiate your operation. Your custom implementation must not call super at any time. In addition to configuring the execution environment for your task, your implementation of this method must also track the state of the operation and provide appropriate state transitions. When the operation executes and subsequently finishes its work, it should generate KVO notifications for the isExecuting and isFinished key paths respectively. For more information about manually generating KVO notifications, see Key-Value Observing Programming Guide. あなたが並行オペレーションを実装しているならば、あなたはこのメソッドをオーバーライドして、そしてそれを使ってあなたのオペレーションに着手しなければなりません。あなたのあつらえの実装は、いかなる時もsuperを呼び出してはいけません。あなたのタスクに対する遂行環境を構成設定することに加えて、このメソッドのあなたの実装はまた、オペレーションの状態を追跡して、そして適切な状態推移を提供しなければなりません。オペレーションが遂行するそしてその後それの仕事を終了する場合、それはKVO通知をisExecutingおよびisFinishedキーパスに対してそれぞれ生成すべきです。手動でKVO通知を生成する事についてのさらなる情報として、Key-Value Observing Programming Guideを見てください。

You can call this method explicitly if you want to execute your operations manually. However, it is a programmer error to call this method on an operation object that is already in an operation queue or to queue the operation after calling this method. Once you add an operation object to a queue, the queue assumes all responsibility for it. あなたはこのメソッドを明示的に呼び出すことが可能です、あなたがあなたのオペレーションを手動で遂行したいならば。しかしながら、このメソッドを既にオペレーションキューの中にあるオペレーションオブジェクト上で呼び出すこと、またはこのメソッドの呼び出し後にオペレーションをキューに入れることは、プログラマの過失です。一旦あなたがあるオペレーションオブジェクトをキューに加えるならば、キューはそれに対する全ての責任を帯びます。

See Also 参照

Executing the Operation オペレーションを遂行する

Related Documentation 関連文書