NSArrayクラス

2014. 06. 03
・継承
NSObject

・準拠
NSCopying
NSMutableCopying
NSFastEnumeration
NSSecureCoding
NSObject (NSObject)

・フレームワーク
/System/Library/Frameworks/Foundation.framework

・利用可能
iOS 2.0以降で利用可能

・手引書
Collections Programming Topics

・宣言
NSArray.h
NSKeyValueCoding.h
NSKeyValueObserving.h
NSPathUtilities.h
NSPredicate.h
NSSortDescriptor.h



●概要

NSArrayとそのサブクラスであるNSMutableArrayは、配列と呼ばれるオブジェクトの順序付きコレクションを管理します。
NSArrayは静的な配列を、NSMutableArrayは動的な配列を作成します。
オブジェクトの順序付きコレクションが必要な時に、配列を使用することができます。

NSArrayにはCore Foundationで「toll-free bridged」に対応するCFArrayRefがあります。
toll-free bridgingの詳細については「Toll-Free Bridging」を参照してください。


サブクラス化における注意事項

NSArrayのサブクラス化をする理由は、一般的にあまりありません。
クラスはオブジェクトの順序付きコレクションを維持するように適切に設計されています。
しかしカスタムのNSArrayオブジェクトが役に立つ可能性がある状況があります。
いくつかの可能性をここに示します。
  • NSArrayでそのコレクションの要素を格納する方法を変更する。
    パフォーマンス上の理由、または旧来のコードとの互換性を高めるために行う可能性があります。

  • (統計情報の収集など)コレクションに何が起こったのかについての詳細情報を取得する。

オーバーライドするメソッド

NSArrayのサブクラスでは、プリミティブなインスタンスメソッドであるcountobjectAtIndex:をオーバーライドする必要があります。
これらのメソッドは、コレクションの要素を提供するバッキングストアで操作する必要があります。
このバッキングストアのために静的配列、標準のNSArrayオブジェクト、または他のデータ型やメカニズムを使用することができます。
また代替となる実装を提供したい場合に、他のNSArrayメソッドを部分的または完全にオーバーライドする選択をすることもできます。

サブクラスにイニシャライザを実装する場合、サブクラスが管理しているバッキングストアに適したものにする可能性があります。
その場合、イニシャライザはNSArrayクラスで指定されたイニシャライザのinitまたはinitWithObjects:count:のいずれかを呼び出す必要があります。
NSArrayクラスはNSCopying、NSMutableCopying、そしてNSCodingプロトコルを採用しているため、コピーまたはコーディンから独自のカスタムサブクラスのインスタンスを作成したい場合、これらのプロトコルのメソッドをオーバーライドします。

NSArrayはクラスクラスタのパブリックインターフェイスであり、サブクラスが何をもたらすかを覚えておいてください。
サブクラス用のストレージを提供し、ストレージに基づいて直接働くプリミティブメソッドを実装する必要があります。

サブクラス化の代替手段

NSArrayのカスタムクラスを作成する前に、NSPointerArrayや対応するCore Foundation型のCFArray Referenceを調べてください。
NSArrayとCFArrayは「toll-free bridged」なため、コード内のNSArrayオブジェクトを(適切なキャストで)CFArrayオブジェクトに置換することができます。
これらは対応している型ですが、CFArrayとNSArrayは同一のインターフェイスや実装を持っていないため、NSArrayで容易にできないことがCFArrayでできることが時々あります。
例えばCFArrayはコールバックのセットを提供しており、その内のいくつかはカスタムのretain-release動作を実装するためのものです。
これらのコールバックにNULL実装を指定した場合、非保持配列を容易に取得することができます。

既存のクラスに補足的な動作を追加したい場合、NSArrayにカテゴリを記述することができます。
ただしカテゴリは使用するNSArrayの全てのインスタンスに影響するため、意図していない結果が生ずる可能性があることを覚えておいてください。
その代わり、望む動作を獲得するための構成を使用することができます。



●タスク

●配列の作成

+ array
+ arrayWithArray:
+ arrayWithContentsOfFile:
+ arrayWithContentsOfURL:
+ arrayWithObject:
+ arrayWithObjects:
+ arrayWithObjects:count:

●配列の初期化

– init
– initWithArray:
– initWithArray:copyItems:
– initWithContentsOfFile:
– initWithContentsOfURL:
– initWithObjects:
– initWithObjects:count:

●配列のクエリ

– containsObject:
– count
– getObjects:range:
– firstObject
– lastObject
– objectAtIndex:
– objectAtIndexedSubscript:
– objectsAtIndexes:
– objectEnumerator
– reverseObjectEnumerator
– getObjects:    iOS 4.0では非推奨

●配列内のオブジェクトの検索

– indexOfObject:
– indexOfObject:inRange:
– indexOfObjectIdenticalTo:
– indexOfObjectIdenticalTo:inRange:
– indexOfObjectPassingTest:
– indexOfObjectWithOptions:passingTest:
– indexOfObjectAtIndexes:options:passingTest:
– indexesOfObjectsPassingTest:
– indexesOfObjectsWithOptions:passingTest:
– indexesOfObjectsAtIndexes:options:passingTest:
– indexOfObject:inSortedRange:options:usingComparator:

●要素へのメッセージの送信

– makeObjectsPerformSelector:
– makeObjectsPerformSelector:withObject:
– enumerateObjectsUsingBlock:
– enumerateObjectsWithOptions:usingBlock:
– enumerateObjectsAtIndexes:options:usingBlock:

●配列の比較

– firstObjectCommonWithArray:
– isEqualToArray:

●新規配列の導出

– arrayByAddingObject:
– arrayByAddingObjectsFromArray:
– filteredArrayUsingPredicate:
– subarrayWithRange:

●並べ替え

– sortedArrayHint
– sortedArrayUsingFunction:context:
– sortedArrayUsingFunction:context:hint:
– sortedArrayUsingDescriptors:
– sortedArrayUsingSelector:
– sortedArrayUsingComparator:
– sortedArrayWithOptions:usingComparator:

●文字列要素の操作

– componentsJoinedByString:

●内容記述の作成

– description
– descriptionWithLocale:
– descriptionWithLocale:indent:
– writeToFile:atomically:
– writeToURL:atomically:

●パスの収集

– pathsMatchingExtensions:

●キー値の監視

– addObserver:forKeyPath:options:context:
– removeObserver:forKeyPath:
– removeObserver:forKeyPath:context:
– removeObserver:fromObjectsAtIndexes:forKeyPath:context:
– addObserver:toObjectsAtIndexes:forKeyPath:options:context:
– removeObserver:fromObjectsAtIndexes:forKeyPath:

●キー値コーディング

– setValue:forKey:
– valueForKey:



●クラスメソッド

array

空の配列を作成して返します。

+ (instancetype)array

戻り値
空の配列

解説
このメソッドはNSArrayの可変サブクラスで使用されます。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


arrayWithArray:

別の指定した配列内のオブジェクトを含む配列を作成して返します。

+ (instancetype)arrayWithArray:(NSArray *)anArray

パラメータ

anArray
配列です。

戻り値
anArray内のオブジェクトを含む配列です。

解説
このメソッドはNSArrayの可変サブクラスで使用されます。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


arrayWithContentsOfFile:

指定したパスで指定されたファイルのコンテンツに含まれている配列を作成して返します。

+ (id)arrayWithContentsOfFile:(NSString *)aPath

パラメータ

aPath
writeToFile:atomically:メソッドで生成される配列の文字列表現含むファイルへのパスです。

戻り値
aPathで指定されたファイルのコンテンツを含む配列です。
ファイルが開けない、またはファイルのコンテンツが配列に解析できない場合はnilを返します。

解説
aPathで識別されるファイル内の配列表現は、プロパティリストオブジェクト(NSString、NSData、NSDate、NSNumber、NSArray、またはNSDictionaryオブジェクト)のみ含まれている必要があります。
詳細についてはProperty List Programming Guideを参照してください。
この配列に含まれるオブジェクトは、配列が可変であっても不変になります。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


arrayWithObject:

指定したオブジェクトを含む配列を作成して返します。

+ (instancetype)arrayWithObject:(id)anObject

パラメータ

anObject
オブジェクトです。

戻り値
単一要素anObjectを含む配列です。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


arrayWithObjects:

引数リスト内のオブジェクトを含む配列を作成して返します。

+ (instancetype)arrayWithObjects:(id)firstObj,,...

パラメータ

firstObj, ...
nil終端のオブジェクトのコンマ区切りのリストです。

戻り値
引数リストのオブジェクトを含む配列です。

解説
以下のコードは3つの異なる型の要素を含む配列の作成例です。

NSArray *myArray;
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
NSString *aString = @"a string";

myArray = [NSArray arrayWithObjects:aDate, aValue, aString, nil]; 

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h



●インスタンスメソッド

containsObject:

指定したオブジェクトが配列に含まれているかどうかを示すブール値を返します。

- (BOOL)containsObject:(id)anObject

パラメータ

anObject
オブジェクトです。

戻り値
配列にanObjectが含まれている場合はYES、それ以外の場合はNOです。

解説
このメソッドは各配列のオブジェクトにisEqual:メッセージを送信する(そして各isEqual:メッセージにパラメータとしてanObjectを渡す)ことによって、anObjectが配列内に含まれているかどうかを決定します。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


count

現在の配列内のオブジェクト数を返します。

- (NSUInteger)count

戻り値
現在の配列内のオブジェクト数です。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


indexOfObject:

指定したオブジェクトと等しい値の、対応する配列の最少インデックスを返します。

- (NSUInteger))indexOfObject:(id)anObject

パラメータ

anObject
オブジェクトです。

戻り値
anObjectと等しい値の、対応する配列の最少インデックスです。
配列内にanObjectと等しいオブジェクトが無い場合、NSNotFoundを返します。

解説
インデックスは0から始まり、一致するものが見つかるか配列の最後まで到達するまで、配列内の各要素にisEqual:メッセージを送信します。
このメソッドは、各isEqual:メッセージにanObjectパラメータを渡します。
オブジェクトは
NSObjectプロトコルで宣言されている)isEqual:がYESを返した場合、オブジェクトは等しいと見なされます。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


initWithContentsOfFile:

指定したパスのファイルのコンテンツで、新たに割り当てた配列を初期化します。

- (id)initWithContentsOfFile:(NSString *)aPath

パラメータ

aPath
writeToFile:atomically:メソッドによって生成された配列の表現を含むファイルへのパスです。

戻り値
aPathで指定されたファイルのコンテンツを含む初期化された配列、あるいはファイルが開けなかったかファイルのコンテンツで配列を解析できなかった場合はnilを返します。
返されるオブジェクトは元のレシーバとは異なる場合があります。

解説
aPathで識別されるファイル内の配列表現は、プロパティリストオブジェクト(NSString、NSData、NSNumber、NSArray、またはNSDictionaryオブジェクト)のみ含まれている必要があります。
この配列に含まれるオブジェクトは、配列が可変であっても不変になります。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


initWithObjects:

引数リスト内にオブジェクトを配置することによって、新たに割り当てた配列を初期化します。

- (instancetype)initWithObjects:(id)firstObj,,...

パラメータ

firstObj,...
nil終端のオブジェクトのコンマ区切りのリストです。

戻り値
引数リストオブジェクトを含むように初期化された配列です。
返されるオブジェクトは元のレシーバとは異なる場合があります。

解説
この方法で初期化した不変配列は、後に変更を加えることはできません。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


lastObject

配列内の最後のオブジェクトを返します。

- (id)lastObject

戻り値
配列内の最後のオブジェクトです。
配列が空の場合はnilを返します。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


objectAtIndex:

指定したインデックスの場所にあるオブジェクトを返します。

- (id)objectAtIndex:(NSUInteger)index

パラメータ

index
配列の範囲内のインデックスです。

戻り値
indexにあるオブジェクトです。

解説
indexが配列の最後を超える(つまりindexがcountで返される値と等しいか大きい)場合はNSRangeExceptionが発生します。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


sortedArrayUsingSelector:

指定したセレクタの比較メソッドによる決定方法で、受信側の配列要素を昇順に並べた配列を返します。

- (NSArray *)sortedArrayUsingSelector:(SEL)comparator

パラメータ

comparator
一度に2つの要素を比較するために使用するメソッド識別するセレクタです。
メソッドは受信側の配列が引数より小さい場合はNSOrderedAscendingを、大きい場合はNSOrderedDescending、等しければNSOrderedSameを返します。

戻り値
指定したセレクタcomparatorの比較メソッドによる決定方法で、受信側の配列要素を昇順に並べた配列です。

解説
新しい配列は受信側の配列要素への参照が含まれており、コピーではありません。

comparatorメッセージは配列内の各オブジェクトに送信され、単一の引数として配列内の別のオブジェクトを持ちます。

例えばNSStringオブジェクトの配列では、NSStringクラスで宣言されているcaseInsensitiveCompare:メソッドを使用することによって並べ替えることができます。
anArrayが存在すると仮定した場合、以下の方法で配列の並べ替えたバージョンを作成することができます。

NSArray *sortedArray = [anArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h


writeToFile:atomically:

指定したパスにあるファイルに配列のコンテンツを書き出します。

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag

パラメータ

path
配列のコンテンツを書き出すパスです。
pathにチルダ(~)が含まれている場合は、このメソッドを呼び出す前にstringByExpandingTildeInPathで展開する必要があります。

flag
YESの場合、配列は一旦補助ファイルに書き込まれ、その後補助ファイルがパス名に書き換えられます。
NOの場合、配列はパスに直接書き込まれます。
YESオプションはpathを保証し、仮にシステムが書き込み中にクラッシュした場合でも破壊されません。

戻り値
ファイルの書き込みが成功した場合はYES、それ以外はNOです。

解説
配列のコンテンツが全てプロパティリストオブジェクト(NSString、NSData、NSArray、またはNSDictionaryオブジェクト)の場合、このメソッドで書き込まれるファイルにはクラスメソッドarrayWithContentsOfFile:またはインスタンスメソッドinitWithContentsOfFile:を使用することができます。
このメソッドは、ファイルに書き出す前に含まれている全てのオブジェクトがプロパティリストオブジェクトであることを再帰的に検証し、全てのオブジェクトがプロパティリストオブジェクトでない場合、結果ファイルが有効なプロパティリストではないためNOを返します。

利用可能
iOS 2.0以降で利用可能。

宣言
NSArray.h



●定数



参考文献

NSArray Class Reference

Randomization Services

2014. 06. 01
・フレームワーク
Security/Security.h

・宣言
SecRandom.h



●概要

Randomization Servicesは、暗号技術的にセキュアな乱数を生成するAPIです。



●関数

SecRandomCopyBytes

暗号技術的にセキュアなランダムバイトの配列を生成します。

int SecRandomCopyBytes (
SecRandomRef rnd,
size_t count,
uint8_t *bytes
);

パラメータ

rnd
使用する乱数ジェネレータオブジェクトです。
デフォルトの乱数ジェネレータを使用するようにkSecRandomDefaultを指定します。

count
bytesパラメータで示す配列内のランダムバイトの数です。

bytes
関数によって生成されるランダムバイトです。

戻り値
関数が正常に完了した場合は0を、エラーがあった場合は-1を返します。
エラーはerrnoシステム変数を確認してください。

解説
この関数は暗号技術的にセキュアなランダムバイトの配列を取得するために/dev/randomから読み込みます。
/dev/randomの乱数ジェネレータについての詳細は、random(4)のマニュアルページを参照してください。

利用可能
iOS 2.0以降で利用可能。

宣言
SecRandom.h



●データ型

SecRandomRef

乱数ジェネレータに関する情報を含む、抽象Core Foundation型のオブジェクトです。

typedef const struct __SecRandom * SecRandomRef;

利用可能
iOS 2.0以降で利用可能。

宣言
SecRandom.h



●定数

・乱数ジェネレータのデフォルト

デフォルトの乱数ジェネレータを示します。

const SecRandomRef kSecRandomDefault;

定数

kSecRandomDefault
乱数ジェネレータの基準としてSecRandomCopyBytes関数に渡された時、この定数はデフォルトの乱数ジェネレータが使用されるべきであることを示します。

この定数はNULLと同義語です。

利用可能
iOS 2.0以降で利用可能。

宣言
SecRandom.h



参考文献

Randomization Services Reference

NSNotificationCenterクラス

2014. 05. 10
・継承
NSObject

・準拠
NSObject (NSObject)

・フレームワーク
/System/Library/Frameworks/Foundation.framework

・利用可能
iOS 2.0以降で利用可能

・手引書
Notification Programming Topics

・宣言
NSNotification.h



●概要

NSNotificationCenterオブジェクト(または単に通知センター)は、プログラム内の情報をブロードキャストするメカニズムを提供します。
NSNotificationCenterオブジェクトは基本的に通知ディスパッチテーブルです。

オブジェクトは通知(NSNotificationオブジェクト)を受信するために、addObserver:selector:name:object:またはaddObserverForName:object:queue:usingBlock:メソッドを使用して通知センターに登録します。
このメソッドの各呼び出しには通知のセットを指定します。
したがってオブジェクトはこれらのメソッドを複数回呼び出すことによって、様々な通知セットのオブザーバとして登録することができます。

実行中の各Cocoaプログラムはデフォルトの通知センターを持っています。
通常は独自に作成しないでください。
NSNotificationCenterオブジェクトは単一のプログラム内でのみ、通知を配信することができます。
別のプロセスに通知を投稿したい、あるいは別のプロセスから通知を受信したい場合は、NSDistributedNotificationCenterのインスタンスを使用してください。



●タスク

●通知センターの取得

+ defaultCenter

●通知オブザーバの管理

– addObserverForName:object:queue:usingBlock:
– addObserver:selector:name:object:
– removeObserver:
– removeObserver:name:object:

●通知の投稿

– postNotification:
– postNotificationName:object:
– postNotificationName:object:userInfo:



●クラスメソッド

defaultCenter

プロセスのデフォルトの通知センターを返します。

+ (id)defaultCenter

戻り値
システム通知に使用されている、現在のプロセスのデフォルトの通知センター。

利用可能
iOS 2.0以降で利用可能。

宣言
NSNotification.h



●インスタンスメソッド

addObserver:selector:name:object:

オブザーバ、通知セレクタ、そしてオプションの条件と共に、レシーバのディスパッチテーブルへエントリを追加します。

- (void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString *)notificationName object:(id)notificationSender

パラメータ

notificationObserver

オブザーバとして登録するオブジェクトです。
この値はnilではいけません。

notificationSelector
通知の投稿を通知するために、レシーバがnotificationObserverに送信するメッセージを指定するセレクタです。
notificationSelectorで指定されたメソッドは、(NSNotificationのインスタンスの)引数を一つだけ持っている必要があります。

notificationName
オブザーバを登録するための通知の名前です。
つまり、この名前の通知のみオブザーバに配信されます。
nilを渡した場合、通知センターはオブザーバへ配信するかどうかを決定するために通知名を使用しません。

notificationSender
オブザーバが受信したい通知のオブジェクトです。
つまり、このセンダーによって送信された通知のみがオブザーバに配信されます。
nilを渡した場合、通知センターはオブザーバへ配信するかどうかを決定するために通知のセンダーを使用しません。

解説
addObserver:selector:name:object:で指定されたnotificationObserverまたはその他のオブジェクトを解放する前に、removeObserver:またはremoveObserver:name:object:を必ず呼び出してください。

利用可能
iOS 2.0以降で利用可能。

宣言
NSNotification.h


removeObserver:

レシーバのディスパッチテーブルから指定されたオブザーバの全てのエントリ削除します。

- (void)removeObserver:(id)notificationObserver

パラメータ

notificationObserver

削除するオブザーバです。
nilを指定してはいけません。

解説
addObserver:selector:name:object:で指定されたnotificationObserverまたはその他のオブジェクトを解放する前に、このメソッド(またはremoveObserver:name:object:)を必ず呼び出してください。

以下の例では、以前に登録していた全ての通知用のsomeObserverの登録を解除する方法を示します。

[[NSNotificationCenter defaultCenter] removeObserver:someObserver];

利用可能
iOS 2.0以降で利用可能。

宣言
NSNotification.h



参考文献

NSNotificationCenter Class Reference

UIColorクラス

2014. 04. 25
・継承
NSObject

・準拠
NSCopying
NSSecureCoding
NSObject (NSObject)

・フレームワーク
/System/Library/Frameworks/UIKit.framework

・利用可能
iOS 2.0以降で利用可能

・宣言
UIColor.h
UIInterface.h



●概要

UIColorオブジェクトは色と時には不透明度(アルファ値)を表します。
UIColorオブジェクトは色データを格納し、描画中に現在の塗りや線の描画色を設定するために使用することができます。

UIKitの多くのメソッドはUIColorオブジェクトを使用して色データを指定する必要があり、一般的に色を指定する主たる方法である必要があります。
このオブジェクトで使用されている色空間はiOSベースのデバイス上で使用するために最適化されているため、ほとんどの描画のニーズに適しています。
ただし貴方がCore Graphicsの色と色空間を代わりに使用したい場合は、そうしてください。

色オブジェクトは不変なので、アプリ内の複数のスレッドから使用しても安全です。

ほとんどの開発者にとって、UIColorをサブクラス化する必要はありません。
追加で色空間や色モデルをサポートする必要がある場合は、必要なときのみ行ってください。
サブクラス化する場合、追加したプロパティとメソッドは複数のスレッドから使用しても安全である必要があります。



●タスク

●コンポーネント値からのUIColorオブジェクトの生成

+ colorWithWhite:alpha:
+ colorWithHue:saturation:brightness:alpha:
+ colorWithRed:green:blue:alpha:
+ colorWithCGColor:
+ colorWithPatternImage:
+ colorWithCIColor:
– colorWithAlphaComponent:

●UIColorオブジェクトの初期化

– initWithWhite:alpha:
– initWithHue:saturation:brightness:alpha:
– initWithRed:green:blue:alpha:
– initWithCGColor:
– initWithPatternImage:
– initWithCIColor:

●プリセットコンポーネント値によるUIColorの生成

+ blackColor
+ darkGrayColor
+ lightGrayColor
+ whiteColor
+ grayColor
+ redColor
+ greenColor
+ blueColor
+ cyanColor
+ yellowColor
+ magentaColor
+ orangeColor
+ purpleColor
+ brownColor
+ clearColor

●システムカラー

+ lightTextColor
+ darkTextColor
+ groupTableViewBackgroundColor
+ scrollViewTexturedBackgroundColor    iOS 7.0では非推奨
+ underPageBackgroundColor    iOS 7.0では非推奨
+ viewFlipsideBackgroundColor    iOS 7.0では非推奨

●色情報の取得

  CGColor    プロパティ
  CIColor    プロパティ
– getHue:saturation:brightness:alpha:
– getRed:green:blue:alpha:
– getWhite:alpha:

●描画処理

– set
– setFill
– setStroke



●プロパティ

CGColor

レシーバの色に対応するQuartz色の参照です。(読み込みのみ)

@property(nonatomic,readonly) CGColorRef CGColor

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h



●クラスメソッド

blackColor

グレースケール値が0.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)blackColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


blueColor

RGB値が0.0, 0.0, 1.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)blueColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


brownColor

RGB値が0.6, 0.4, 0.2でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)brownColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


clearColor

グレースケールとアルファ値が共に0.0の色オブジェクトを返します。

+ (UIColor *)clearColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


colorWithRed:green:blue:alpha:

指定した不透明度とRGB成分の値を使用し、色オブジェクトを生成して返します。

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha

パラメータ

red
色オブジェクトの赤成分で、0.0から1.0の値で指定します。

green
色オブジェクトの緑成分で、0.0から1.0の値で指定します。

blue
色オブジェクトの青成分で、0.0から1.0の値で指定します。

alpha
色オブジェクトの不透明度で、0.0から1.0の値で指定します。

戻り値
UIColorオブジェクト。
このオブジェクトによって表される色情報は、デバイスのRGB色空間です。

解説
0.0未満の値は0.0として、1.0より上の値は1.0として解釈されます。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


cyanColor

RGB値が0.0, 1.0, 1.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)cyanColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


darkGrayColor

グレースケール値が1/3でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)darkGrayColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


grayColor

グレースケール値が0.5でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)grayColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


greenColor

RGB値が0.0, 1.0, 0.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)greenColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


lightGrayColor

グレースケール値が2/3でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)lightGrayColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


magentaColor

RGB値が1.0, 0.0, 1.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)magentaColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


orangeColor

RGB値が1.0, 0.5, 0.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)orangeColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


purpleColor

RGB値が0.5, 0.0, 0.5でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)purpleColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


redColor

RGB値が1.0, 0.0, 0.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)redColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


viewFlipsideBackgroundColor

反転している間のビューの裏面で使用されるシステムカラーを返します。(iOS 7.0では非推奨)

+ (UIColor *)viewFlipsideBackgroundColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。
iOS 7.0では非推奨。

宣言
UIInterface.h


whiteColor

グレースケール値が1.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)whiteColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h


yellowColor

RGB値が1.0, 1.0, 0.0でアルファ値が1.0の色オブジェクトを返します。

+ (UIColor *)yellowColor

戻り値
UIColorオブジェクト。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h



●インスタンスメソッド

initWithRed:green:blue:alpha:

指定した不透明度とRGBのコンポーネント値を使って色オブジェクトを初期化して返します。

- (UIColor *)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha

パラメータ

red
色オブジェクトの赤成分で、0.0から1.0の値で指定します。

green
色オブジェクトの緑成分で、0.0から1.0の値で指定します。

blue
色オブジェクトの青成分で、0.0から1.0の値で指定します。

alpha
色オブジェクトの不透明度で、0.0から1.0の値で指定します。

戻り値
初期化された色オブジェクト。
このオブジェクトによって表される色情報は、デバイスのRGB色空間です。

解説
0.0未満の値は0.0として、1.0より上の値は1.0として解釈されます。

利用可能
iOS 2.0以降で利用可能。

宣言
UIColor.h



参考文献

UIColor Class Reference

UISwitchクラス

2014. 04. 24
・継承
UIControlUIViewUIResponderNSObject

・準拠
NSCoding
NSCoding (UIView)
UIAppearance (UIView)
UIAppearanceContainer (UIView)
UIDynamicItem (UIView)
NSObject (NSObject)

・フレームワーク
/System/Library/Frameworks/UIKit.framework

・利用可能
iOS 2.0以降で利用可能

・手引書
“Switches”

・宣言
UISwitch.h



●概要

UISwitchクラスは、例えば設定アプリで機内モードやBluetoothなど、選択するために使用されるON/OFFボタンの作成と管理に使用します。
これらのオブジェクトはスイッチとして知られています。

UISwitchクラスはON/OFF状態を制御するプロパティとメソッドを宣言しています。

UISliderと同様に、ユーザがスイッチコントロールを操作(これを"フリップ"と言います)するとUIControlEventValueChangedイベントが生成され、(適切に設定されている場合)コントロールがアクションメッセージを送信します。

スイッチがオンまたはオフの時に、色遣いに使用されている色を変更することによってスイッチの外観をカスタマイズすることができます。

基本的なビューの動作についての情報は『iOS View プログラミングガイド』を参照してください。

外観と動作の設定についての詳細は『Switches』を参照してください。



●タスク

●スイッチオブジェクトの初期化

– initWithFrame:

●オフ/オン状態の設定

  on    プロパティ
– setOn:animated:

●スイッチの外観のカスタマイズ

  onTintColor    プロパティ
  tintColor    プロパティ
  thumbTintColor    プロパティ
  onImage    プロパティ
  offImage    プロパティ



●プロパティ

on

スイッチのON/OFF状態を決定するブール値です。

@property(nonatomic, getter=isOn) BOOL on

解説
このプロパティは、UISwitchオブジェクトがONまたはOFFであるかどうかを決定する値を取得して、(アニメーションを除いて)設定をすることができます。

利用可能
iOS 2.0以降で利用可能。

宣言
UISwitch.h



●インスタンスメソッド

setOn:animated:

スイッチの状態をONまたはOFFに設定し、必要に応じて遷移をアニメーションします。

- (void)setOn:(BOOL)on animated:(BOOL)animated

パラメータ

on
スイッチがONの位置になっている必要がある場合はYES、OFFの位置になっている必要がある場合はNOにします。
スイッチが既に指定された位置にある場合は何も起こりません。

animated
スイッチの反転をアニメーションする場合はYES、そうでない場合はNOにします。

解説
スイッチがどちらかの位置に設定されなければアクションメッセージは送信されません。

利用可能
iOS 2.0以降で利用可能。

宣言
UISwitch.h



参考文献

UISwitch Class Reference






Lifestyle 650 home entertainment system
Calendar
10 | 2017/11 | 12
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

Lifestyle 650 home entertainment system
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