オブジェクトを受け付けます。次のように呼び出すことができます。回目の列挙で停止する場合には、以下のようになります。学習を目的としたもので、このメソッドを使う必要はありません。利用する方が手軽です。引数と同じ数のブロックパラメータを用意しなければなりません。なければ、実行時に例外が発生します。オブジェクトがメモリ管理により、処理の途中で回収されないようにする必要があります。オブジェクトの参照を保持しておかなければなりません。メモリ管理については次のセクションで説明します。自動的なメモリ管理を提供します。みなさんは、使わなくなったオブジェクトを解放したりする必要がありません。比べるとメモリは制限されているので、みなさんは巨大なオブジェクトを生成しないよう慎重になる必要があります。参照カウントと呼ばれるガベージコレクションの形式を実装しています。オブジェクトが生成されると参照カウントが加算され、破棄されると減算されます。なると、ガベージコレクタによってオブジェクトのメモリ領域が解放されます。メモリ管理しシステムは開発プロセスを単純化するように設計されています。プログラミングとは異なり、オブジェクトの参照は自動的にシステムによって生成・破棄されます。設計と非常に類似していますが、実装は異なっています。オブジェクトの回収はシステムにより引き起こされますが、いつ回収されるかは決定的ではありません。構造をベースとしています。以上のオブジェクトが相互参照するときに生じる、オブジェクトの循環は現在ランタイムによって処理されません。そのため、オブジェクトのメモリリークを避けるために弱参照を作成することが重要です。クラスを実装されています。使用して弱参照を作成でき、渡されたオブジェクトは保持されません。渡されたオブジェクトへ転送されます。パターンを実装した例です。メモリリークを起こします。ランタイムは循環参照を解決できることでしょう。使用しても機能しないものに置き換えられることでしょう。よって自動的に管理されます。関数を使う必要はありません。プログラマが解放する必要があります)。両方のオブジェクトはガベージコレクションの対象となります。NSDate.dateオブジェクトを回収されないようにするには、インスタンス変数に設定するなどのように参照を生成する必要があります。インスタンス変数のレシーバが生きている限り、オブジェクトが確実に保持されるようになります。collectedオブジェクトの参照を生成する方法は他にもいくつかあります。渡されるものも、必要に応じて参照が生成されます。型は即値で、これらはオブジェクト用のメモリ領域を使用しません。呼ばれるテクニックを使用してこれを実装しています。費やされるので重要です。ポインタとして変換されます。デバイスにマルチコアプロセッサが登場したので、コードを平行して実行させる能力は重要になりました。この目的に沿って設計されています。