「Conceptual Overview」の編集履歴(バックアップ)一覧はこちら
「Conceptual Overview」(2010/03/02 (火) 17:40:48) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
//0.下はいじらない
Tags:&tags()
//1.以下に続けてADCでの分類を書き込みリンクする。「ガイド小見出し(日本語名)」、まで書く
&link_toppage(トップ) > [[ガイド>Guides]] > ブロックプログラミング概論
//前後のページへのリンクをはる。ページ最下部にも同じものがあるので忘れずにリンクする
[[前のページ>]] [[次のページ>]]
*大まかなコンセプト [[翻訳元>http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Blocks/Articles/bxOverview.html#//apple_ref/doc/uid/TP40007502-CH3-SW1]]
以下のセクションでは実践的な例を使ってブロックを始める手助けをします。
//3.翻訳元の最終更新日を書く
このページの最終更新:&date()
ADCの最終更新:2009-10-19
//目次は自動生成
目次
#contents(fromhere=true)
//4.以下、用語は頻繁に出てくる単語の翻訳ガイドラインを参照しながら翻訳する。
//5.ある程度書き終わったらタグ(未完または完成、カテゴリ名×3)をつけて下線を引く(広告との境)。これで終了。それではGood Luck!
//中見出しは下線を引く
**ブロックの機能(Block Functionality)
----
ブロックは次のようなコードのよくある組み込みのコレクションです。
- ちょうど関数のように型付けされた引数リストを持つ。
- 暗黙に、または明確に宣言された戻り値を持つ。
- 定義されたレキシカルスコープから状態を獲得できる。
- レキシカルスコープの状態を任意で変更できる。
- 同じレキシカルスコープで定義されたほかのブロックと変更の可能性を共有できる。
- レキシカルスコープ(スタックフレーム)で定義された状態をそのレキシカルスコープ(スタックフレーム)が破棄された後でも続けて共有、変更できる。
ブロックは複製することも、その実行を譲るためにほかのスレッド(または自身のスレッドのランループ)に渡してしまうことさえできます。コンパイラとランタイムはブロックが参照しているすべての変数がそのブロックのすべての複製の寿命分保護されるように手配しています。ブロックは純粋なCやC++で使えますが、ブロックは常にObjective-Cオブジェクトとしても利用できます。
**用法(Usage)
----
通常、ブロックは小さく自己完結したコード片を表します。[As such, they’re particularly useful as a means of encapsulating units of work that may be executed concurrently, or over items in a collection.]
//そのような意味では、ブロックは特に同時に実行される可能性がある動作の単位、またはコレクション中の複数のアイテムをカプセル化する方法として有用です。?
ブロックの変数との相互作用のおかげで、局所的な状態にアクセスする必要がある状況でも、ブロックは有用なものとなっています。したがって、ブロックはコールバックの代替手段としても有用です。コールバックを使うために、処理を実行するのに必要な前後関係をもった情報を含むデータ構造体を要求しなくても、単にローカル変数に直接アクセスするだけでよいのです。
#right(){[[前のページ>Getting Started with Blocks]] [[次のページ>]]}
----
表示オプション
横に並べて表示:
変化行の前後のみ表示: