CALayerクラス

2011. 09. 20
●概要

CALayerクラスは、レイヤツリーオブジェクトのためのモデルクラスです。

座標系を定義するレイヤの位置、サイズ、変換をカプセル化します。

また、レイヤの時間空間を定義するCAMediaTimingプロトコルを採用することによって、アニメーションとレイヤの継続期間と速度をカプセル化します。



●タスク

●レイヤの生成


+ layer
– init
– initWithLayer:

●表示レイヤへのアクセス


– presentationLayer
– modelLayer

●レイヤのジオメトリの変更


  frame    property
  bounds    property
  position    property
  zPosition    property
  anchorPointZ    property
  anchorPoint    property
  contentsScale    property
– affineTransform
– setAffineTransform:
  transform    property
  sublayerTransform    property

●レイヤコンテンツの提供


  contents    property
  contentsRect    property
  contentsCenter    property
– display
– displayLayer:    delegate method
– drawInContext:
– drawLayer:inContext:    delegate method
  opaque    property
  edgeAntialiasingMask    property
– contentsAreFlipped
  geometryFlipped    property

●スタイルの属性


  contentsGravity    property
  opacity    property
  hidden    property
  masksToBounds    property
  doubleSided    property
  mask    property
  cornerRadius    property
  borderWidth    property
  borderColor    property
  backgroundColor    property
  backgroundFilters    property
  shadowOpacity    property
  shadowRadius    property
  shadowOffset    property
  shadowColor    property
  shadowPath    property
  filters    property
  compositingFilter    property
  style    property
  minificationFilter    property
  minificationFilterBias    property
  magnificationFilter    property

●レイヤ階層の管理


  sublayers    property
  superlayer    property
– addSublayer:
– removeFromSuperlayer
– insertSublayer:atIndex:
– insertSublayer:below:
– insertSublayer:above:
– replaceSublayer:with:

●レイヤ表示の更新


– setNeedsDisplay
  needsDisplayOnBoundsChange    property
– displayIfNeeded
– needsDisplay
+ needsDisplayForKey:
– setNeedsDisplayInRect:

●レイヤのアニメーション


– addAnimation:forKey:
– animationForKey:
– removeAllAnimations
– removeAnimationForKey:
– animationKeys

●レイヤのリサイズとレイアウトの管理


– setNeedsLayout
  name    property
– preferredFrameSize
– layoutIfNeeded
– layoutSublayers
– needsLayout

●アクション


  actions    property
+ defaultActionForKey:
– actionForKey:
– actionForLayer:forKey:    delegate method

●時間空間と座標間のマッピング


– convertPoint:fromLayer:
– convertPoint:toLayer:
– convertRect:fromLayer:
– convertRect:toLayer:
– convertTime:fromLayer:
– convertTime:toLayer:

●ヒットテスト


– hitTest:
– containsPoint:

●レンダリング


– renderInContext:
  shouldRasterize    property
  rasterizationScale    property

●スクロール


  visibleRect    property
– scrollPoint:
– scrollRectToVisible:

●デリゲートの変更

  delegate    property

●キー値コーディングの拡張

– shouldArchiveValueForKey:
+ defaultValueForKey:



●プロパティ

opaque

@property(getter=isOpaque) BOOL opaque

このプロパティは、レイヤが生成するコンテンツに直接影響を与えます。

デフォルトはNOです。

このプロパティは、開発者によって提供された画像に対して直接効果を与えるものではないことに注意してください。

このプロパティは、setNeedsDisplayが呼び出された時にのみ発動して影響を与えるもので、その後displayはdrawInContext:メソッドが描画するためのビットマップを生成します。

その場合、生成されたビットマップがアルファチャンネルを持っているかどうかは、このプロパティの値によって定義されます。

この値はcontentsプロパティでデベロッパによって提供された画像に対して、直接効果は与えません。



●クラスメソッド



●インスタンスメソッド



●デリゲートメソッド



●定数



参考文献

CALayer Class Reference

EAGLDrawableプロトコル

2011. 09. 19
●概要

EAGLDrawableプロトコルを実装するiOSオブジェクトはレンダリングサーフェスとして使用し、EAGLContextオブジェクトによって画面に表示することができます。

iOS 2.0では、このプロトコルはCAEAGLLayerクラスによってのみ実装されていますが、今後他のクラスでも実装される可能性があります。

EAGLDrawableプロトコルは、iOSの外部オブジェクトによって実装されることはありません。



●タスク

●描画可能プロパティ

  drawableProperties    property



●プロパティ

Objective-Cのプロパティについての詳細は、『The Objective-C Programming Language』の『Properties』を参照してください。

drawableProperties

@property(copy) NSDictionary *drawableProperties

描画可能なサーフェスの所望する特性を指定する、値の辞書です。(必須)

drawablePropertiesの辞書は、OpenGL ESのレンダバッファにアタッチされている時に、このオブジェクトによって使用されるプロパティを指定します。

アプリケーションは、EAGLContextメソッドのrenderbufferStorage:fromDrawable:にこのオブジェクトを渡す前に、これらのプロパティを設定する必要があります。

drawablePropertiesの辞書を変更する場合、アプリケーションは新しい値を有効にするために、再度renderbufferStorage:fromDrawable:を呼び出す必要があります。



●定数

・描画可能プロパティのキー

EAGL_EXTERN NSString * const kEAGLDrawablePropertyColorFormat;
EAGL_EXTERN NSString * const kEAGLDrawablePropertyRetainedBacking;

drawablePropertiesの辞書内で指定するキーです。

kEAGLDrawablePropertyColorFormat
描画可能サーフェスのための内部カラーバッファフォーマットを指定するキーです。
このキーの値は、特定のカラーバッファフォーマットを指定するNSStringオブジェクトです。
このカラーバッファフォーマットは、レンダバッファ用のストレージの生成に、EAGLContextオブジェクトによって使用されます。
デフォルト値はkEAGLColorFormatRGBA8です。

kEAGLDrawablePropertyRetainedBacking
描画可能サーフェスを表示した後にコンテンツを保持するかを指定するキーです。
このキーの値は、BOOLデータ型を含むNSNumberオブジェクトです。
NOの場合は、コンテンツが表示された後と同じコンテンツであることに依存しません。
YESの場合は、表示後にコンテンツが変更されません。
値をYESに設定した場合、パフォーマンスの低下と追加のメモリを使用する結果を招くため、必要な時のみコンテンツを無変更にすることを推奨します。
デフォルト値はNOです。


・カラーフォーマット

EAGL_EXTERN NSString * const kEAGLColorFormatRGB565;
EAGL_EXTERN NSString * const kEAGLColorFormatRGBA8;

kEAGLColorFormatRGB565
OpenGL ESのGL_RGB565フォーマットに対応する、16ビットRGBフォーマットを指定します。

kEAGLColorFormatRGBA8
OpenGL ESのGL_RGBA8888フォーマットに対応する、32ビットRGBAフォーマットを指定します。



参考文献

EAGLDrawable Protocol Reference

CAEAGLLayerクラス

2011. 09. 18
●概要

CAEAGLLayerクラスは、iPhoneアプリケーションでのOpenGLコンテンツの描画をサポートします。

レンダリングにOpenGLを使用する予定の場合、ビューのバッキングレイヤとして、ビューのlayerClassクラスメソッドで返されるクラスにこのクラスを使用します。

返されたCAEAGLLayerオブジェクトは、OpenGL ESの関数呼び出しに完全な互換性を持つ、Core Animationサーフェスのラッパーです。

グラフィックスコンテキストのレンダターゲットとして、レイヤの関連付けられたビューを指定する前に、drawablePripertiesプロパティを使用して必要なレンダリング属性を変更することができます。

このプロパティは、レンダリングサーフェスのカラーフォーマットや、サーフェスがそのコンテンツを保持するかを設定することができます。

OpenGL ESのレンダリングサーフェスはCore Animationを使用してユーザに表示されるため、エフェクトやアニメーションを適用すると、レンダリングする3Dコンテンツのレイヤにも影響を及ぼします。

ただし最高のパフォーマンスを得るには下記の手順を実行します。
  • レイヤの不透明度属性をTRUEに設定します。
  • ディスプレイの寸法に合わせてレイヤの境界を設定します。
  • CAEAGLLayerオブジェクトの上で他のレイヤを描画することは避けてください。
    他の非OpenGLコンテンツの描画を行う必要がある場合は、パフォーマンスコストを許容できるようにし、またGLコンテンツの上に透明な2Dコンテンツを配置する場合は、OpenGLコンテンツが不透明かつ変換されていないことを確認してください。
  • ポートレート表示でランドスケープコンテンツを描画する時、回転にCAEAGLLayerの変換を使用するよりも、コンテンツ自身を回転させてください。



●タスク

●レイヤプロパティへのアクセス

  drawableProperties    property



●プロパティ

Objective-Cのプロパティについての詳細は、『The Objective-C Programming Language』の『Properties』を参照してください。

drawableProperties

@property(copy) NSDictionary *drawableProperties

ネイティブなウィンドウサーフェスのプロパティです。

このプロパティを使用して、サーフェスがコンテンツを保持するかどうかに関わらず、ウィンドウサーフェスの基礎となるカラーフォーマットを変更することが出来ます。

この辞書の(デフォルト値を含め)キー(とそれに対応する値)のリストについては、『EAGLDrawableプロトコル』を参照してください。



参考文献

CAEAGLLayer Class Reference

EAGLContextクラス

2011. 09. 15
●概要

EAGLContextオブジェクトは、OpenGL ESを使用して描画するのに必要なリソースやコマンド、状態情報を管理します。

全てのOpenGL ESコマンドは、EAGLコンテキストに関連して実行されます。

テクスチャやレンダバッファなどのリソースの描画は、コンテキストに関連付けられたEAGLSharegroupオブジェクトによって、EAGLContextオブジェクトとして管理されます。

新規にEAGLContextオブジェクトを初期化する時、新規にEAGLSharegroupオブジェクトを生成するか、以前に生成したEAGLコンテキストから取得したものを使用するかを選択することが出来ます。

EAGLコンテキストに描画するには、最初に完全なフレームバッファオブジェクトをコンテキストにバインドする必要があります。

レンダリングコンテキストの設定についての詳細は、『OpenGL ES Programming Guide for iOS』(日本語版は『iOS OpenGL ESプログラミングガイド』)を参照してください。



●タスク

●EAGLコンテキストの生成


– initWithAPI:
– initWithAPI:sharegroup:

●現在のEAGLコンテキストの設定


+ setCurrentContext:

●レンダバッファへのストレージのアタッチ


– renderbufferStorage:fromDrawable:

●レンダバッファの表示


– presentRenderbuffer:

●EAGLコンテキスト情報の取得


  API    property
  sharegroup    property
+ currentContext



●プロパティ

API

@property(readonly) EAGLRenderingAPI API

レシーバでサポートされているOpenGL ESのレンダリングAPIのバージョンを取得します。(読み込みのみ)



●クラスメソッド

currentContext


+ (EAGLContext *)currentContext

呼び出したスレッドの現在のレンダリングコンテキストを返します。

戻り値は呼び出したスレッドの現在のEAGLコンテキストです。


setCurrentContext:


+ (BOOL)setCurrentContext:(EAGLContext *)context

指定したコンテキストを呼び出したスレッドの現在のレンダリングコンテキストとして作成します。

戻り値は成功した場合はYES、それ以外の場合はNOを返します。

エラーが発生した場合、現在のスレッドのレンダリングコンテキストは変更されません。

全てのOpenGL ESの呼び出しは、特記の無い限り、現在のコンテキストに完全に呼び出した順を考慮して発行されます。

EAGLは現在の作成されたコンテキストを保持し、以前のコンテキストは解放します。

nilパラメータでこのメソッドを呼び出すと現在のコンテキストは解放し、全ての描画コンテキストにOpenGL ESのアンバインドをさせます。

複数のスレッド上に現在の同じコンテキストを作成することは避けてください。

OpenGL ESはスレッドの安全性を提供しませんが、複数のスレッド上で同じコンテキストを使用する場合は、複数のスレッドから同じコンテキストへの同時アクセスを防ぐために、スレッドを同期させるいくつかの技術を採用する必要があります。

context:現在作成しようとしているレンダリングコンテキストを指定します。



●インスタンスメソッド

initWithAPI:


- (id)initWithAPI:(EAGLRenderingAPI)api

指定したOpenGL ESのレンダリングAPIのバージョンで、新規に割り当てたレンダリングコンテキストを初期化して返します。

戻り値は初期化されたコンテキストオブジェクト、あるいはオブジェクトが生成できなかった場合はnilを返します。

このコンテキストにOpenGL ESのコマンドを発行するには、setCurrentContext:を呼び出すことによって、現在の描画コンテキストを最初に作成する必要があります。

initWithAPI:を呼び出すと新規にEAGLSharegroupオブジェクトを生成し、このコンテキストにアタッチします。

api:目的とするOpenGL ESのレンダリングAPIのバージョンを指定します。
有効な値については『OpenGL ESのバージョン』を参照してください。


presentRenderbuffer:

- (BOOL)presentRenderbuffer:(NSUInteger)target

画面上にレンダバッファのコンテンツを表示します。

戻り値は成功した場合はYES、そうでない場合はNOになります。

レンダバッファを表示するには、renderbufferStorage:fromDrawable:メソッドを使用してストレージを割り当てておく必要があります。

厳密な意味で、いつ、どのようにレンダバッファのコンテンツを表示するかは、描画可能オブジェクトによって制御されます。

重要:レンダバッファのコンテンツはレンダバッファが画面に表示された後で変更される場合があります。
レンダバッファを表示した後、アプリケーションは再度表示する前にレンダバッファのコンテンツを完全に再描画する必要があります。
レンダバッファのコンテンツを保持するには、drawableProperties辞書のkEAGLDrawablePropertyRetainedBackingキーをYESに設定することができます。
キーをYESに設定すると、グラフィックスのパフォーマンスが低下し、使用メモリが増加するため、レンダバッファのコンテンツを変えずに保持する時のみに行ってください。

target:現在バインドされているレンダバッファ用の、OpenGL ESのバインディングポイントを指定します。
OpenGL ES 1.0 APIを使用するコンテキストの場合は、GL_RENDERBUFFER_OESにする必要があります。
OpenGL ES 2.0 APIを使用するコンテキストの場合は、OES接尾辞を削除する必要があります。


renderbufferStorage:fromDrawable:

- (BOOL)renderbufferStorage:(NSUInteger)target fromDrawable:(id<eagldrawable>)drawable

OpenGL ESのレンダバッファオブジェクトに、描画可能なオブジェクトのストレージをバインドします。

戻り値は成功した場合はYES、それ以外の場合はNOになります。

画面に表示することができるレンダバッファを生成するには、レンダバッファをバインドし、このメソッドを呼び出すことによって共有ストレージを割り当てます。

このメソッドの呼び出しは、通常glRenderbufferStorageへの呼び出しを置換します。

レンダバッファは、このメソッドでストレージを割り当てた後で、presentRenderbuffer:を呼び出して表示することができます。

幅、高さ、内部カラーバッファフォーマットは、描画可能なオブジェクトの特性に由来します。

このメソッドを呼び出す前に、描画可能オブジェクトのdrawableProperties辞書にkEAGLDrawablePropertyColorFormatキーを追加することによって、内部カラーバッファフォーマットをオーバーライドすることができます。

OpenGL ESのレンダバッファが描画可能オブジェクトからデタッチする必要がある場合は、drawableをnilに設定してこのメソッドを呼び出すことができます。

target:現在バインドされているレンダバッファ用の、OpenGL ESのバインディングポイントを指定します。
OpenGL ES 1.0 APIを使用するコンテキストの場合は、GL_RENDERBUFFER_OESにする必要があります。
OpenGL ES 2.0 APIを使用するコンテキストの場合は、OES接尾辞を削除する必要があります。

drawable:EAGLDrawableプロトコルに準拠したオブジェクトで、レンダバッファにバインドするストレージを指定します。
iOS 3.0の場合は常にCAEAGLLayerオブジェクトです。



●定数

OpenGL ESのバージョン

typedef NSUInteger EAGLRenderingAPI;

enum
{
    kEAGLRenderingAPIOpenGLES1 = 1
    kEAGLRenderingAPIOpenGLES2 = 2
};

これらの定数はレンダリングコンテキストが提供するOpenGL ESのバージョンの選択に使用します。

kEAGLRenderingAPIOpenGLES1
コンテキストはOpenGL ES 1.xレンダリングAPIをサポートします。

kEAGLRenderingAPIOpenGLES2
コンテキストはOpenGL ES 2.xレンダリングAPIをサポートします。



参考文献

EAGLContext Class Reference

GLFun(1)~iOSでのOpenGL ESの利用

2011. 09. 10
サンプルコードの内容に入る前に、iOSデバイスでOpenGL ESを利用する際の予備知識を簡単に紹介します。

なおOpenGL ESは体系的に説明するには範囲が膨大過ぎるので、SQLiteの時のようにサンプルコードの解説に必要な最低限の範囲に留めさせていただきます。

説明が不足している分は、リンクしている参考文献などを参照し補間してください。


●OpenGL

OpenGLは2D/3DグラフィックスハードウェアのクロスプラットフォームAPIです。

簡単に言えば、(Mac OS XやUNIX、Windowsなど)異なる環境でも(バージョンや追加ライブラリを揃えれば)ほぼ書き換え無しにそのまま移植できる、3Dグラフィックスのライブラリです。


●OpenGL ES(OpenGL for Embedded Systems)

OpenGL ESはサーバ/デスクトップ向けであるOpenGLの組み込み/モバイル機器向けサブセットです。


●OpenGL ES 1.1と2.0

OpenGL ES 1.1はOpenGL 1.5のサブセットで固定機能パイプラインに対応し、OpenGL ES 2.0はOpenGL 2.0のサブセットでプログラマブルパイプラインに対応しています。
(固定機能パイプラインやプログラマブルパイプラインについては『床井研究室/第1回 レンダリングパイプライン』や『Wikipedia/シェーダ』を参照してください)

OpenGL ES 2.0は固定機能パイプラインに対応していないため、1.1との後方互換性はありません。
(したがって両バージョンに対応させるには、各バージョン用の実装をする必要があります)

バージョンによる差異については『OpenGL ESによるモバイル・組込みグラフィックス』を参照してください。


●iOSのアーキテクチャにおけるOpenGL ES

iOSのアーキテクチャは大きく分けて4層構造になっています。

・Cocoa Touchレイヤ(UIKitフレームワーク)
・Mediaレイヤ(Core Graphicsフレームワーク(別名Quartz)、OpenGL ESフレームワーク)
・Core Servicesレイヤ
・Core OSレイヤ

テーブルやボタン、ナビゲーションバーやツールバーなどの標準的なGUIは、Cocoa TouchレイヤのUIKitフレームワークで提供されています。

UIKitフレームワークで実現できない汎用的な描画をするには、MediaレイヤのCore GraphicsフレームワークやOpenGL ESフレームワークを使用することになります。


●OpenGL ESフレームワーク(OpenGLES.framework)

OpenGL ESフレームワークは2D/3Dコンテンツを描画するためのフレームワークで、iOSではOpenGL ES 1.1と2.0が利用できます。

OpenGL ES 1.1は全てのiOSで、OpenGL ES 2.0はOSとしてはiOS 3.0以降からサポートされています。

ただし(GPUにPowerVR MBX Liteを採用している)初代iPhone、iPhone 3G、ならびに第1、第2世代のiPod touchでは利用できません。


●PowerVR MBXとPowerVR SGX

初代iPhone、iPhone 3G、そして第1、第2世代のiPod touchはGPUにPowerVR MBXを採用しています。

PowerVR MBXは固定機能パイプラインを実装しているため、OpenGL ES 1.1のみ対応しています。

iPhone 3GSとiPhone 4、ならびに第3、第4世代のiPod touch、そしてiPadとiPad 2はGPUにPowerVR SGXを採用しています。

PowerVR SGXはプログラマブルパイプラインを実装していて、OpenGL ES 2.0に対応しているだけでなく、グラフィックドライバでシェーダを使用して固定機能パイプラインを実装しているため、OpenGL ES 1.1にも対応しています。

詳細は『iOS OpenGL ESプログラミングガイド』を参照してください。


●iOSデバイスのiOSとOpenGL ESの対応表

DeviceiPhoneiPod touchiPad
Model3G3GS4
GSM
4
CDMA
1st
gen.
2nd
gen.
3rd
gen.
4th
gen.
iPadiPad 2
Release
date
2007
.6.29
2008
.7.11
2009
.6.19
2010
.6.24
2011
.2.10
2007
.9.14
2008
.9.9
2009
.9.9
2010
.9.8
2010
.4.3
2011
.3.11
LCD480 x 320px960 x 640px480 x 320px960 x
640px
1024 x 768px
CPUARM
1176JZ
(F)-S
412MHz
ARM
Cortex
-A8
600
MHz
Apple
A4
800MHz
ARM
1176J
Z(F)-S
412
MHz
ARM11
533
MHz
ARM
Cortex
-A8
600
MHz
Apple
A4
800
MHz
Apple
A4
1GHz
Apple
A5
1GHz
GPU
(PowerVR)
MBX
Lite 3D
SGX535MBX
Lite 3D
SGX535SGX
535
SGX
543
MP2
Memory128MB256MB512MB128MB256MB256MB512MB
Open
GL ES
1.1
2.0
iOS
Ver.
Rele
ase
1.02007
.6.29
1.0.12007
.7.31
1.0.22007
.8.21
1.12007
.9.14
1.1.12007
.9.27
1.1.22007.
11.12
1.1.32008
.1.15
1.1.42008
.2.26
1.1.52008
.7.15
2.02008
.7.11
2.0.12008
.8.4
2.0.22008
.8.18
2.12008
.9.12
2.1.12008
.9.9
2.22008.
11.21
2.2.12009
.1.27
3.02009
.6.17
3.0.12009
.7.31
3.12009
.9.9
3.1.12009
.9.9
3.1.22009
.10.8
3.1.32010
.2.2
3.22010
.4.3
3.2.12010
.7.15
3.2.22010
.8.11
4.02010
.6.21
4.0.12010
.7.15
4.0.22010
.8.11
4.12010
.9.8
4.2-
4.2.12010.
11.22
4.2.52011
.2.7
4.2.62011
.2.10
4.2.72011
.4.14
4.2.82011
.5.4
4.2.92011
.7.15
4.2.102011
.7.25
4.32011
.3.9
4.3.12011
.3.25
4.3.22011
.4.14
4.3.32011
.5.4
4.3.42011
.7.15
4.3.52011
.7.25

※ ●は対応、▲はマルチタスクなどの一部機能が制限されていることを示します。
※ iOS 4.2は正式リリースされず、4.2.1に置き換えられています。



参考文献

iOSテクノロジーの概要

iOS OpenGL ESプログラミングガイド

Wikipedia/OpenGL(日本語)

Wikipedia/OpenGL

Wikipedia/OpenGL ES(日本語)

Wikipedia/OpenGL ES

OpenGL ES御紹介とアップデート

OpenGL ESによるモバイル・組込みグラフィックス

床井研究室/第1回 レンダリングパイプライン

Wikipedia/シェーダ

Wikipedia/iOS(アップル)

Wikipedia/iOS(Apple)

Wikipedia/IOS version history

Wikipedia/List of iOS devices

Wikipedia/iPhone

Wikipedia/iPod Touch

Wikipedia/iPad






Wave SoundTouch music system IV
Calendar
08 | 2011/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Wave SoundTouch music system IV
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR