NSStringクラス

2010. 10. 25
●概要

NSStringクラスは不変文字列を管理するオブジェクトのプログラムインターフェイスを宣言します。
(不変文字列は、生成した後で変更できないテキスト文字列として定義されます。NSStringは、Unicode文字の配列すなわちテキスト文字列として表されて実装されます。)

NSStringの可変サブクラスはNSMutableStringです。

NSStringクラスは、lengthcharacterAtIndex:の2つのプリミティブメソッドを持ち、インターフェイスの他の全てのメソッドの基礎を提供します。

lengthメソッドは、文字列中のUnicodeの文字数の合計を返します。

characterAtIndex:は、文字列内の各文字に0から始まるインデックス番号を割り当て、アクセスすることができます。

NSStringは文字列の検索と比較をするメソッドを宣言します。

また、文字列から数値を読み込んだり、様々な方法で文字列を結合したり、(エンコードや大文字/小文字の変換など)異なる形式の文字列を変換するメソッドも宣言しています。

Application Kitはまた、NSParagraphStyleとそのサブクラスであるNSMutableParagraphStyleによる段落のカプセル化や、NSArrtibutedStringクラスによる書式属性を使用しています。

文字列の描画に関する詳細は、『Application Kit』の『NSString Application Kit Additions Reference』を参照してください。

NSStringには『toll-free bridged』の対象としてCore FoundationのCFStringがあります。
CFStringRefを参照してください)

これはFoudationオブジェクトを橋渡ししてCore Foundationの型に変換し、関数やメソッドで呼び出せることを意味します。

したがってNSString *パラメータを参照する際、CFStringRefに渡し、CFStringRefパラメータとして参照でき、(コンパイラの警告を抑えるために型変換をして)NSStringインスタンスに渡すこともできます。

この橋渡しは、NSStringの実際のサブクラスに適用されます。



●タスク

●文字列の生成と初期化

+ string
– init
– initWithBytes:length:encoding:
– initWithBytesNoCopy:length:encoding:freeWhenDone:
– initWithCharacters:length:
– initWithCharactersNoCopy:length:freeWhenDone:
– initWithString:
– initWithCString:encoding:
– initWithUTF8String:
– initWithFormat:
– initWithFormat:arguments:
– initWithFormat:locale:
– initWithFormat:locale:arguments:
– initWithData:encoding:
+ stringWithFormat:
+ localizedStringWithFormat:
+ stringWithCharacters:length:
+ stringWithString:
+ stringWithCString:encoding:
+ stringWithUTF8String:
+ stringWithCString:
+ stringWithCString:length:
– initWithCString:
– initWithCString:length:
– initWithCStringNoCopy:length:freeWhenDone:

●ファイルからの文字列の生成と初期化

+ stringWithContentsOfFile:encoding:error:
– initWithContentsOfFile:encoding:error:
+ stringWithContentsOfFile:usedEncoding:error:
– initWithContentsOfFile:usedEncoding:error:
+ stringWithContentsOfFile:
– initWithContentsOfFile:

●URLからの文字列の生成と初期化

+ stringWithContentsOfURL:encoding:error:
– initWithContentsOfURL:encoding:error:
+ stringWithContentsOfURL:usedEncoding:error:
– initWithContentsOfURL:usedEncoding:error:
+ stringWithContentsOfURL:
– initWithContentsOfURL:

●ファイルまたはURLへの書き出し

– writeToFile:atomically:encoding:error:
– writeToURL:atomically:encoding:error:
– writeToFile:atomically:
– writeToURL:atomically:

●文字列の長さの取得

– length
– lengthOfBytesUsingEncoding:
– maximumLengthOfBytesUsingEncoding:

●文字とバイトの取得

– characterAtIndex:
– getCharacters:range:
– getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
– getCharacters:

●C文字列の取得

– cStringUsingEncoding:
– getCString:maxLength:encoding:
– UTF8String
– cString
– cStringLength
– getCString:
– getCString:maxLength:
– getCString:maxLength:range:remainingRange:
– lossyCString

●文字列の結合

– stringByAppendingFormat:
– stringByAppendingString:
– stringByPaddingToLength:withString:startingAtIndex:

●文字列の分割

– componentsSeparatedByString:
– componentsSeparatedByCharactersInSet:
– stringByTrimmingCharactersInSet:
– substringFromIndex:
– substringWithRange:
– substringToIndex:

●文字と部分文字列の検索

– rangeOfCharacterFromSet:
– rangeOfCharacterFromSet:options:
– rangeOfCharacterFromSet:options:range:
– rangeOfString:
– rangeOfString:options:
– rangeOfString:options:range:
– rangeOfString:options:range:locale:
– enumerateLinesUsingBlock:
– enumerateSubstringsInRange:options:usingBlock:

●部分文字列の置換

– stringByReplacingOccurrencesOfString:withString:
– stringByReplacingOccurrencesOfString:withString:options:range:
– stringByReplacingCharactersInRange:withString:

●行と段落範囲の判別

– getLineStart:end:contentsEnd:forRange:
– lineRangeForRange:
– getParagraphStart:end:contentsEnd:forRange:
– paragraphRangeForRange:

●合成済文字範囲の判別

– rangeOfComposedCharacterSequenceAtIndex:
– rangeOfComposedCharacterSequencesForRange:

●文字列のコンテンツ情報をプロパティリストへ変換

– propertyList
– propertyListFromStringsFileFormat

●文字列の同定と比較

– caseInsensitiveCompare:
– localizedCaseInsensitiveCompare:
– compare:
– localizedCompare:
– compare:options:
– compare:options:range:
– compare:options:range:locale:
– localizedStandardCompare:
– hasPrefix:
– hasSuffix:
– isEqualToString:
– hash

●文字列の畳み込み

– stringByFoldingWithOptions:locale:

●共有プレフィックスの取得

– commonPrefixWithString:options:

●大文字/小文字の変換

– capitalizedString
– lowercaseString
– uppercaseString

●文字列の正規化

– decomposedStringWithCanonicalMapping
– decomposedStringWithCompatibilityMapping
– precomposedStringWithCanonicalMapping
– precomposedStringWithCompatibilityMapping

●数値の取得

– doubleValue
– floatValue
– intValue
– integerValue
– longLongValue
– boolValue

●エンコーディングの処理

+ availableStringEncodings
+ defaultCStringEncoding
+ localizedNameOfStringEncoding:
– canBeConvertedToEncoding:
– dataUsingEncoding:
– dataUsingEncoding:allowLossyConversion:
– description
– fastestEncoding
– smallestEncoding

●パスの処理

+ pathWithComponents:
– pathComponents
– completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:
– fileSystemRepresentation
– getFileSystemRepresentation:maxLength:
– isAbsolutePath
– lastPathComponent
– pathExtension
– stringByAbbreviatingWithTildeInPath
– stringByAppendingPathComponent:
– stringByAppendingPathExtension:
– stringByDeletingLastPathComponent
– stringByDeletingPathExtension
– stringByExpandingTildeInPath
– stringByResolvingSymlinksInPath
– stringByStandardizingPath
– stringsByAppendingPaths:

●URLの処理

– stringByAddingPercentEscapesUsingEncoding:
– stringByReplacingPercentEscapesUsingEncoding:



●クラスメソッド

availableStringEncodings

+ (const NSStringEncoding *)availableStringEncodings

アプリケーション環境がサポートしているエンコーディングを、0終端の文字列オブジェクトのリストで返します。

一般的によく使われるエンコーディングには次のようなものがあります。

    NSASCIIStringEncoding
    NSUnicodeStringEncoding
    NSISOLatin1StringEncoding
    NSISOLatin2StringEncoding
    NSSymbolStringEncoding

これ以外にCore FoundationのエンコーディングをCFStringConvertEncodingToNSStringEncoding関数で変換して追加する事もできます。


defaultCStringEncoding

+ (NSStringEncoding)defaultCStringEncoding

C文字列のエンコーディングを返します。

このメソッドは、ユーザのデフォルト言語や他の要素によって設定されているエンコーディングを返します。

未知のエンコーディングのユーザ文書を処理する際、他に手掛かりが無い場合に必要となるかもしれません。

ただし、場合によっては予期しないエンコーディングになる可能性もあります。

このメソッドは、stringWithCString:などのC文字列の処理で引数で使います。

C文字列のエンコーディングは、デフォルトではシステムによって決定されており、個々のプログラムで決まるものではありません。


localizedNameOfStringEncoding:

+ (NSString *)localizedNameOfStringEncoding:(NSStringEncoding)encoding

人が読めるエンコーディング名を返します。

各エンコーディングに付与されている番号を、ロケールの言語で表します。

encoding:エンコーディング番号を指定します。


localizedStringWithFormat:

+ (id)localizedStringWithFormat:(NSString *)format ...

デフォルトのロケールで作った引数リストの文字列を返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。


pathWithComponents:

+ (NSString *)pathWithComponents:(NSArray *)components

指定した配列の中の文字列を、パスの区切り文字『/』を挟んだ文字列にして返します。

最初に『/』が入り、以降『/』で分割していきます。

最後に『/』を含めたい場合は空の要素を入れます。

このメソッドでは完全なパスを作れません。

親ディレクトリなど参照を含めたものにするには、stringByStandardizingPathを使用してください。

components:NSStringオブジェクトの配列を指定します。


string

+ (id)string

空の文字列を返します。


stringWithCharacters:length:

+ (id)stringWithCharacters:(const unichar *)chars length:(NSUInteger)length

UnicodeのC文字列から指定した文字数で作った文字列を返します。

chars:UnicodeのC配列(値がNULLの場合、例外が発生します)。

length:C文字列から使用する文字列の長さ。


stringWithContentsOfFile:encoding:error:

+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

指定したパスにあるファイルを読み込み、エンコードして文字列を作って返します。
(ファイルが開けなかったりエンコーディングでエラーになった場合はnilを返します)

path:ファイルの場所を示すパス。

enc:パスの示しているファイルのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


stringWithContentsOfFile:usedEncoding:error:

+ (id)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error

指定したパスにあるファイルを読み込み、エンコードを自動判別して作った文字列を返します。

このメソッドはファイルからエンコーディングを決定しようとします。
(ファイルが開けなかったりエンコーディングでエラーになった場合はnilを返します)

path:ファイルの場所を示すパス。

enc:ファイルが正常に読み込まれた場合、エンコーディングを設定します。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


stringWithContentsOfURL:encoding:error:

+ (id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error

指定したURLをエンコードして作った文字列を返します。
(URLが開けなかったりエンコーディングでエラーになった場合はnilを返します)

url:URLを読み込みます。

enc:パスの示しているURLのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


stringWithContentsOfURL:usedEncoding:error:

+ (id)stringWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError **)error

指定したURLを自動判別して作った文字列を返します。

このメソッドはURLからエンコーディングを決定しようとします。
(URLが開けなかったりエンコーディングでエラーになった場合はnilを返します)

url:URLを読み込みます。

enc:URLが正常に読み込まれた場合、エンコーディングを設定します。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


stringWithCString:encoding:

+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc

C文字列を指定したエンコーディングで作り、返します。
(C文字列がNULL終端でない、または指定したエンコーディングと実際のC文字列のエンコーディングが合っていない場合は結果が未定義になります)

cString:NULL終端のC文字列(途中にNULLが入っていてはいけません)。

enc:C文字列のエンコーディング。


stringWithFormat:

+ (id)stringWithFormat:(NSString *)format,...

指定したフォーマットで作った引数リストの文字列を返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。


stringWithString:

+ (id)stringWithString:(NSString *)aString

指定した文字列のコピーで作った文字列を返します。

aString:コピー元になるNSStringオブジェクトの文字列。
(aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)


stringWithUTF8String:

+ (id)stringWithUTF8String:(const char *)bytes

UTF8エンコードのC文字列をコピーして作った文字列を返します。

bytes:UTF-8エンコーディングのC文字列。
(NULL終端でない場合は例外が発生します)



●インスタンスメソッド

boolValue

– (BOOL)boolValue

ブール値を返します。

最初の文字が『Y』『y』『T』『t』もしくは1~9の数字の場合にYESを返し、それ以外の文字は無視します。

上記有効な文字以外の場合にはNOを返します。

最初の文字以降と空白、-と+符号はスキップされます。


canBeConvertedToEncoding:

– (BOOL)canBeConvertedToEncoding:(NSStringEncoding)encoding

損失無しでエンコーディングができたかどうかをブール値で返します。

できた場合はYESを、エンコーディングの過程で文字に変更や削除があった場合はNOを返します。

dataUsingEncoding:などで文字列の変換を行い、失敗してnilが返って来る場合は、このメソッドを呼び出してオーバーヘッドを回避する事ができます。

encoding:文字列のエンコーディングを指定します。


capitalizedString

– (NSString *)capitalizedString

単語の最初の文字を大文字に、それ以外は小文字にして返します。

単語と認識するのはスペース、タブ、改行コードで区切られたものです。

ハイフンや句読点など、複数単語で区切られた場合は望む結果が得られない場合があります。

また、結合文字などが含まれる場合、同じ長さになるとは限りません(lowercaseString参照)。


caseInsensitiveCompare:

– (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString

指定した文字列と大文字/小文字の区別無しで比較し、その結果を返します。

compare:options:メソッドをNSCaseInsensitiveSearchオプションで指定した場合と同じになります。

比較対象の文字列をユーザに求める場合はlocalizedCaseInsensitiveCompare:を使用してください。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。


characterAtIndex:

– (unichar)characterAtIndex:(NSUInteger)index

Unicodeの文字配列から指定した数値の位置にある文字を返します。

index:文字配列から何文字目かを指定します。
(文字配列の総文字数内である必要があります)
総文字数を超えたindexを指定した場合、NSRangeExceptionで例外を発生させます。


commonPrefixWithString:options:

– (NSString *)commonPrefixWithString:(NSString *)aString options:(NSStringCompareOptions)mask

レシーバの文字列が指定した文字列で始まるかを比較し一致すればレシーバの共有部分を返します。
(指定文字列から始まる場合のみで、語句中で一致しても空の文字列が返されます)

例えばレシーバを『Ma¨dchen』、aStringを『Mädchenschule』とした場合、『Ma¨dchen』を返します。
(『Mädchen』ではありません)

と、リファレンスにはありますが、これは『aStringではなくレシーバの共有部分を返す』という説明です。

上記説明のまま文字列をコピペして試すと、『Ma¨dchen』の『¨』はU+00A8であり、結合文字用の『̈(U+0308)』とは異なるため、『M』しか返ってきませんので注意してください。

aString:比較する文字列。

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。


compare:

– (NSComparisonResult)compare:(NSString *)aString

指定した文字列を比較し、その結果を返します。

compare:options:range:メソッドをオプション無し、全範囲で指定した場合と同じになります。

比較対象の文字列をユーザに求める場合はlocalizedCompare:、またはlocalizedCaseInsensitiveCompare:を使用してください。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。


compare:options:

– (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask

指定した文字列を検索オプリョン付きで比較し、その結果を返します。

compare:options:range:メソッドを全範囲で指定した場合と同じになります。

比較対象の文字列をユーザに求める場合はlocalizedCompare:、またはlocalizedCaseInsensitiveCompare:compare:options:range:locale:を使用してください。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSNumericSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。


compare:options:range:

- (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)range

指定した文字列の範囲を検索オプリョン付きで比較し、その結果を返します。

compare:options:range:locale:メソッドのlocaleをnilで指定した場合と同じになります。

ユーザにロケールを求める場合はcompare:options:range:locale:でロケールを(currentLocale[NSLocale])で設定してください。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSNumericSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。

range:比較するレシーバの文字列の範囲を指定します。
この範囲は検索するNSStringオブジェクトより大きく設定してはいけません。
超える範囲を設定した場合、NSRangeExceptionで例外を発生させます。


compare:options:range:locale:

– (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)range locale:(id)locale

指定した文字列の範囲を検索オプリョン付きで語彙を比較し、その結果を返します。

比較対象の文字列をユーザに求める場合はcompare:options:range:locale:で、ロケールをlocale(currentLocale[NSLocale])にして使用してください。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSNumericSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。

range:比較するレシーバの文字列の範囲を指定します。
この範囲は検索するNSStringオブジェクトより大きく設定してはいけません。
超える範囲を設定した場合、NSRangeExceptionで例外を発生させます。

locale:NSLocaleのインスタンスで、nilを指定した場合はインスタンスを生成せずに現在のロケールになります。
ユーザにロケールを求める場合はロケールを(currentLocale[NSLocale])で設定してください。


completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:

– (NSUInteger)completePathIntoString:(NSString **)outputName caseSensitive:(BOOL)flag matchesIntoArray:(NSArray **)outputArray filterTypes:(NSArray *)filterTypes

指定した配列の中で、レシーバのパスと一致するものを検索し、且つファイルパスとして完成しているかどうかをチェックし、適合するパスがあれば最長のものを返します。

一致するものが無ければ0を、一致すれば1を返します。

複数一致する場合は、outputArrayに含まれるその数を返します。

outputArrayがNULLの場合、正の値を返します。

outputName:レシーバと適合する最長パスの名前を指定します。

flag:完了可能と考えられる場合はYESを指定します。

outputArray:一致する全てのファイル名の配列を指定します。

filterTypes:NSStringオブジェクトの配列で、パスとして完了するかを判断する拡張子を指定します。
(区切り文字『/』は含めない)


componentsSeparatedByCharactersInSet:

– (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

NSStringオブジェクトの文字列を、指定した文字集合で分割した文字配列にして返します。
(componentsSeparatedByString:が単一の文字列で分割するのに対し、複数の文字列を指定できます)

separator:分割に使用する文字集合。
(nilを指定することはできません)


componentsSeparatedByString:

– (NSArray *)componentsSeparatedByString:(NSString *)separator

NSStringオブジェクトの文字列を、指定した文字列で分割した文字配列にして返します。

separator:分割に使用する文字列。


cStringUsingEncoding:

– (const char *)cStringUsingEncoding:(NSStringEncoding)encoding

指定したエンコーディングでC文字列を返します。

エンコーディングの変換で不可逆変換ができなかった場合はNULLを返します。

戻り値であるC文字列は、元になるNSStringオブジェクトの文字列が解放される、あるいは自動解放が行われると消滅しますので、必要な場合はgetCString:maxLength:encoding:を使用してください。

また、canBeConvertedToEncoding:で不可逆変換が可能かをチェックできます。

それができない場合はdataUsingEncoding:allowLossyConversion:を使ってC文字列に変換できますが、その場合NULL終端など情報が欠落するので注意が必要です。

encoding:C文字列のエンコーディング


dataUsingEncoding:

– (NSData *)dataUsingEncoding:(NSStringEncoding)encoding

指定したエンコーディングでエンコードしたNSDataオブジェクトを返します。

dataUsingEncoding:allowLossyConversion:の2番目の引数にNOを指定したものになるので可逆変換になります。

不可逆変換で構わない場合はdataUsingEncoding:allowLossyConversion:を使用してください。

encoding:文字列のエンコーディングを指定します。


dataUsingEncoding:allowLossyConversion:

– (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag

指定したエンコーディングでエンコードしたNSDataオブジェクトを返します。

flagでNOを指定し、アクセントなどの情報に損失があった場合はnilを返します。

flagがYESの場合、変換時にいくつかの情報を失うことがあります。

例えば、NSUnicodeStringEncodingからNSASCIIStringEncodingへ変換する場合、『Á』のアクセントが欠落して『A』になります。

このメソッドは、バイトオーダーを気にせず安全にファイルを書き出す事ができます。

このメソッドで損失無しの変換でプレーンテキストを作り、文字列オブジェクトへの変換や保存をすることを推奨します。

encoding:文字列のエンコーディングを指定します。

flag:YESの場合は文字の削除や変更を許可します。


decomposedStringWithCanonicalMapping

– (NSString *)decomposedStringWithCanonicalMapping

文字列をUnicode正規化形式Dで分解して返します。


decomposedStringWithCompatibilityMapping

– (NSString *)decomposedStringWithCompatibilityMapping

文字列をUnicode正規化形式KDで分解、合成して返します。


description

– (NSString *)description

レシーバを返します。


doubleValue

– (double)doubleValue

倍精度浮動小数点実数を返します。

オーバーフローの場合はHUGE_VALまたは-HUGE_VALを、アンダーフローの場合は0.0を返します。

また、レシーバの値が有効なテキストで始まっていない場合は0.0を返します。

文字列の先頭にある空白はスキップします。

このメソッドはローカライズされていない値を使用します。
(ローカライズされている場合はNSScannerオブジェクトを使います)


fastestEncoding

– (NSStringEncoding)fastestEncoding

情報損失無しで最速なエンコーディングを返します。

このメソッドは空間効率が良くありません。


fileSystemRepresentation

– (const char *)fileSystemRepresentation

ファイルパスとして有効なC文字列を返します。

戻り値のC文字列はレシーバの解放と同時に解放されるので、必要ならばgetFileSystemRepresentation:maxLength:でコピーして格納してください。

レシーバの文字列をファイルパスにエンコーディングできなかった場合は、NSCharacterConversionExceptionを発生させます。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)

戻り値のC文字列をNSStringオブジェクトにするには、stringWithFileSystemRepresentation:length:を使用してください。


floatValue

– (float)floatValue

単精度浮動小数点実数を返します。

オーバーフローの場合はHUGE_VALまたは-HUGE_VALを、アンダーフローの場合は0.0を返します。

また、レシーバの値が有効なテキストで始まっていない場合は0.0を返します。

文字列の先頭にある空白はスキップします。

このメソッドはローカライズされていない値を使用します。
(ローカライズされている場合はNSScannerオブジェクトを使います)


getBytes:maxLength:usedLength:encoding:options:range:remainingRange:

– (BOOL)getBytes:(void *)buffer maxLength:(NSUInteger)maxBuffer usedLength:(NSUInteger *)usedBufferCount encoding:(NSStringEncoding)encoding options:(NSStringEncodingConversionOptions)options range:(NSRange)range remainingRange:(NSRangePointer)leftover

指定したバッファに、エンコーディングと範囲を指定したバイト列を書き込みます。
(バイト列にNULL終端は含みません)

書き込みが成功すればYESを、失敗した場合はNOを返します。
(バッファがいっぱいになって失敗する場合もあれば、エンコーディングの変換ができなかった可能性も考えられます)

buffer:バイト列を格納するバッファを指定します。

maxBuffer:バッファの最大バイト数を指定します。

usedBufferCount:使用されたバッファのバイト数を格納します。
(不要の場合はNULLを指定します)

encoding:バイト列のエンコーディングを指定します。

options:バイト列に書き込む際にエンコーディングを変換する必要がある場合に指定します。

range:バイト列に書き込む範囲を指定します。

leftover:指定範囲の内どこまで書き込んだかという結果をポインタで格納します。
(不要の場合はNULLを指定します)


getCharacters:

– (void)getCharacters:(unichar *)buffer

指定したバッファ(メモリ領域)にUnicode文字列を書き込みます。

バッファオーバーランを引き起こす可能性があるため非推奨。
getCharacters:range:の使用を推奨)

buffer:文字列を格納するバッファを指定します。
書き込む文字列を十分に格納できる大きさのバッファが必要です。
([string length] * sizeof(unichar))


getCharacters:range:

– (void)getCharacters:(unichar *)buffer range:(NSRange)aRange

指定したバッファに、範囲内にあるUnicode文字列を書き込みます。

このメソッドではNULL文字を追加しません。

buffer:文字列を格納するバッファを指定します。
書き込む文字列を十分に格納できる大きさのバッファが必要です。
(aRange.length * sizeof(unichar))

aRange:格納する文字列の範囲を指定します。
この範囲は書き込む文字列より大きく設定してはいけません。
超える範囲を設定した場合、NSRangeExceptionで例外を発生させます。


getCString:maxLength:encoding:

– (BOOL)getCString:(char *)buffer maxLength:(NSUInteger)maxBufferCount encoding:(NSStringEncoding)encoding

指定したエンコーディングで変換したC文字列をバッファに格納します。

成功すればYESを、失敗した場合はNOを返します。
(確保したバッファが小さくて失敗する場合もあれば、エンコーディングの変換ができなかった可能性も考えられます)

また、canBeConvertedToEncoding:で不可逆変換が可能かをチェックできます。

それができない場合はdataUsingEncoding:allowLossyConversion:を使ってC文字列に変換できますが、その場合NULL終端など情報が欠落するので注意が必要です。

buffer:C文字列にNULL終端を付加して格納します。

maxBufferCount:NULL終端分を含めたC文字列を格納できるバッファサイズを指定します。

encoding:C文字列のエンコーディング。


getFileSystemRepresentation:maxLength:

– (BOOL)getFileSystemRepresentation:(char *)buffer maxLength:(NSUInteger)maxLength

レシーバにファイルパスとして有効なC文字列があればバッファに格納し、正否を返します。

ファイルパスとして有効なC文字列が得られた場合はYESを返します。

バッファの長さが足りなかったり、ファイルパスとして有効でなかった場合はNOを返します。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)

buffer:有効なファイルパスを、NULL終端のC文字列として格納するバッファを指定します。

length:ファイルパスを格納するバッファの長さを指定します。
NULL終端分を含めた十分な長さを指定してください。


getLineStart:end:contentsEnd:forRange:

– (void)getLineStart:(NSUInteger *)startIndex end:(NSUInteger *)lineEndIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange

指定した範囲の行の開始位置と終了位置(改行コード含む/含まない)を返します。

改行を判別する記号(改行コード)は次の通りです。
・U+000D:\r または CR(Carriage return:行頭への復帰。行送りは含まない)
・U+2028:Unicode line separator(行区切り記号)
・U+000A:\n または LF(Line Feed:行送り。行頭への復帰は含まない)
・U+2029:Unicode paragraph separator(段落区切り記号)
・またはCRLF

startIndex:指定した範囲にある行の先頭文字位置を返します。
必要が無い場合はNULLを指定します。

lineEndIndex:指定した範囲にある行の改行コード含む終端文字位置を返します。
必要が無い場合はNULLを指定します。

contentsEndIndex:指定した範囲にある行の改行コード含まない終端文字位置を返します。
必要が無い場合はNULLを指定します。

aRange:検索する行のある範囲を指定します。
この範囲は検索するNSStringオブジェクトより大きく設定してはいけません。
超える範囲を設定した場合、NSRangeExceptionで例外を発生させます。


getParagraphStart:end:contentsEnd:forRange:

– (void)getParagraphStart:(NSUInteger *)startIndex end:(NSUInteger *)endIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange

指定した範囲の段落の開始位置と終了位置(改行コード含む/含まない)を返します。

段落を判別する記号(改行コード)は次の通りです。
・U+000D:\rまたは CR(Carriage return:行頭への復帰。行送りは含まない)
・U+000A:\nまたは LF(Line Feed:行送り。行頭への復帰は含まない)
・U+2029:Unicode paragraph separator(段落区切り記号)
・またはCRLF

getLineStart:end:contentsEnd:forRange:との違いはUnicode line separator(行区切り記号:U+2028)を判別するかどうかです。

getLine~ではUnicode line separatorにも反応し行末と判断しますが、getParagraph~は段落末と判断せずスルーします。
(getLine~はUnicode paragraph separatorも行末と判断します)

逆に言えば、本来段落末(Unicode paragraph separator)だけに反応してほしいgetLine~が、改行コードである 、\rや\nにも反応してしまいますので注意が必要です。

startIndex:指定した範囲にある段落の先頭文字位置を返します。
必要が無い場合はNULLを指定します。

lineEndIndex:指定した範囲にある段落の改行コード含む終端文字位置を返します。
必要が無い場合はNULLを指定します。

contentsEndIndex:指定した範囲にある段落の改行コード含まない終端文字位置を返します。
必要が無い場合はNULLを指定します。

aRange:検索する段落のある範囲を指定します。
この範囲は検索するNSStringオブジェクトより大きく設定してはいけません。
超える範囲を設定した場合、NSRangeExceptionで例外を発生させます。


hash

– (NSUInteger)hash

ハッシュテーブルのアドレスとして使える符号無し整数を返します。

isEqualToString:メソッドで厳密に一致する文字列同士の場合は、同じハッシュ値になります。

サブクラスでオーバーライドしてはいけません。


hasPrefix:

– (BOOL)hasPrefix:(NSString *)aString

指定した文字列がレシーバの先頭側からの文字と一致するか比較します。

一致する場合はYESを返し、不一致あるいはaStringが空の場合はNOを返します。

aString:比較する文字列。


hasSuffix:

– (BOOL)hasSuffix:(NSString *)aString

指定した文字列がレシーバの終端側からの文字と一致するか比較します。

一致する場合はYESを返し、不一致あるいはaStringが空の場合はNOを返します。

aString:比較する文字列。


init

- (id)init

初期化した空のNSStringオブジェクトを返します。


initWithBytes:length:encoding:

- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding

指定した長さとエンコーディングで初期化したバイト列をNSStringオブジェクトとして返します。

bytes:文字列化するバイト列。

length:バイト列の長さ。

encoding:文字コードのエンコーディング。


initWithBytesNoCopy:length:encoding:freeWhenDone:

- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding
 
freeWhenDone:(BOOL)flag

指定した長さとエンコーディングで初期化したバイト列をNSStringオブジェクトとして返します。

またNSStringオブジェクト解放時に元のバイト列を解放するか選択できます。

bytes:文字列化するバイト列。

length:バイト列の長さ。

encoding:文字コードのエンコーディング。

flag:YESの場合、NSStringオブジェクト解放時にバイト列を解放し、NOなら保持します。


initWithCharacters:length:

– (id)initWithCharacters:(const unichar *)characters length:(NSUInteger)length

UnicodeのC配列から指定した文字数で初期化したNSStringオブジェクトを返します。

characters:UnicodeのC配列(値がNULLの場合、例外が発生します)。

length:C配列の長さ。


initWithCharactersNoCopy:length:freeWhenDone:

– (id)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length
 
freeWhenDone:(BOOL)flag

UnicodeのC文字列から指定した文字数で初期化したNSStringオブジェクトを返します。

またNSStringオブジェクト解放時に元のバイト列を解放するか選択できます。

characters:UnicodeのC配列(値がNULLの場合、例外が発生します)。

length:C配列の長さ。

flag:YESの場合、NSStringオブジェクト解放時にバイト列を解放し、NOなら保持します。


initWithContentsOfFile:encoding:error:

– (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error

指定したパスのファイルを読み込み、エンコードして初期化したNSStringオブジェクトを返します。
(ファイルが開けなかったりエンコーディングでエラーになった場合はnilを返します)

path:ファイルの場所を示すパス。

enc:パスの示しているファイルのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


initWithContentsOfFile:usedEncoding:error:

– (id)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error

指定したパスにあるファイルを読み込み、エンコードを自動判別して初期化したNSStringオブジェクトを返します。
(ファイルが開けなかったりエンコーディングでエラーになった場合はnilを返します)

path:ファイルの場所を示すパス。

enc:ファイルが正常に読み込まれた場合、エンコーディングを設定します。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


initWithContentsOfURL:encoding:error:

– (id)initWithContentsOfURL:(NSURL *)url encoding:(MSStringEncoding)enc error:(NSError **)error

指定したURLをエンコードして初期化したNSStringオブジェクトを返します。
(URLが開けなかったりエンコーディングでエラーになった場合はnilを返します)

url:URLを読み込みます。

enc:パスの示しているURLのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


initWithContentsOfURL:usedEncoding:error:

– (id)initWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError **)error

指定したURLを自動判別して初期化したNSStringオブジェクトを返します。

このメソッドはURLからエンコーディングを決定しようとします。
(URLが開けなかったりエンコーディングでエラーになった場合はnilを返します)

url:URLを読み込みます。

enc:URLが正常に読み込まれた場合、エンコーディングを設定します。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


initWithCString:encoding:

– (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding

NULLで終わるC文字配列を指定したエンコードで初期化したNSStringオブジェクトを返します。
(C文字配列がNULL終端でない場合またはエンコーディングが適切でない場合は未定義になります)

nullTerminatedCString:NULL終端のC文字配列。

encoding:C文字配列のエンコーディング。


initWithData:encoding:

– (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding

指定したエンコードで変換したデータで初期化したNSStringオブジェクトを返します。

data:バイト列のNSDataオブジェクト。

encoding:C文字配列のエンコーディング。


initWithFormat:

– (id)initWithFormat:(NSString *)format ...

指定したフォーマット(書式)で初期化したNSStringオブジェクトを返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。

...:カンマ区切りで値を指定します。


initWithFormat:arguments:

– (id)initWithFormat:(NSString *)format arguments:(va_list)argList

指定したフォーマットと可変引数リストで初期化したNSStringオブジェクトを返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。

argList:可変引数リスト。


initWithFormat:locale:

– (id)initWithFormat:(NSString)format locale:(id)locale ...

指定したフォーマットとロケールで初期化したNSStringオブジェクトを返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。

locale:NSDictionaryかNSLocaleのインスタンスで指定し、nilの場合標準のロケールになります。
ロケールの指定にdictionaryで環境設定から標準(デフォルト)のロケールを設定する場合は、[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]を使います。


initWithFormat:locale:arguments:

– (id)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList

指定したフォーマットとロケール、可変引数リストで初期化したNSStringオブジェクトを返します。
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません。

locale:NSDictionaryかNSLocaleのインスタンスで指定し、nilの場合標準のロケールになります。
ロケールの指定にdictionaryで環境設定から標準(デフォルト)のロケールを設定する場合は、[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]を使います。

argList:可変引数リスト。


initWithString:

– (id)initWithString:(NSString *)aString

指定した文字列のコピーで初期化したNSStringオブジェクトを返します。

aString:初期化に用いる文字列。


initWithUTF8String:

– (id)initWithUTF8String:(const)bytes

NULLで終わるUTF-8エンコーディングのC文字列のコピーで初期化したNSStringオブジェクトを返します。
(NULL終端でない場合は例外が発生します)

bytes:UTF-8エンコーディングのNULL終端C文字列。


integerValue

– (NSInteger)integerValue

NSInteger型の整数を返します。

int型は32bit固定ですがNSInteger型は32bit環境なら32bit int型、64bit環境なら64bitのlong型になります。

文字列の先頭にある空白はスキップします。

また、レシーバの値が有効な10進数表記のテキストで始まっていない場合は0を返します。

このメソッドはローカライズされていない値を使用します。
(ローカライズされている場合はNSScannerオブジェクトを使います)


intValue

– (int)intValue

整数を10進数で返します。

文字列の先頭にある空白はスキップします。

オーバーフローした場合にはINT_MAXまたはINT_MINを返します。

また、レシーバの値が有効な10進数表記のテキストで始まっていない場合は0を返します。

このメソッドはローカライズされていない値を使用します。
(ローカライズされている場合はNSScannerオブジェクトを使います)


isAbsolutePath

– (BOOL)isAbsolutePath

絶対パスかどうかをBOOL値で返します。

絶対パスならYESを、相対パスならNOを返します。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)

このパスにファイルが存在しているかどうかはチェックされません。
fileExistsAtPath:または類似のNSFileManagerのメソッドを使用してください)


isEqualToString:

– (BOOL)isEqualToString:(NSString *)aString

指定した文字列がレシーバの文字列とUnicodeベースで一致するか比較します。

id、またはNSOrderedSameが完全に一致する場合はYESを返し、不一致の場合はNOを返します。
(正規表現での厳密な比較になるため、『O』などの合成済文字は区別されます)

比較する双方が文字列の場合、isEqualメソッドよりも高速です。

aString:比較する文字列。


lastPathComponent

– (NSString *)lastPathComponent

パスの最後の要素を返します。

戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp/scratch.tiff""scratch.tiff"
"/tmp/scratch""scratch"
"/tmp/""tmp"
"scratch""scratch"
"/""/"

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


length

– (NSUInteger)length

Unicode文字列の文字数を返します。


lengthOfBytesUsingEncoding:

– (NSUInteger)lengthOfBytesUsingEncoding:(NSStringEncoding)enc

指定したエンコーディングに変換した場合に、必要な文字列のバイト数を返します。

戻り値のバイト数にはエンコーディング情報も含みます。
(NULL終端のバイト数は含みません)

指定したエンコーディングで変換できない、または変換した文字列をメモリに格納できなかった(NSIntegerMaxを超える長さ)場合は0を返します。

enc:NSStringオブジェクトの長さを求めるエンコーディング。


lineRangeForRange:

– (NSRange)lineRangeForRange:(NSRange)aRange

指定した範囲にある行の全体範囲を返します。
(改行コードも含みます)

aRange:検索する行のある範囲を指定します。


localizedCaseInsensitiveCompare:

– (NSComparisonResult)localizedCaseInsensitiveCompare:(NSString *)aString

指定した文字列を大文字/小文字の区別無くローカライズした語彙を比較し、その結果を返します。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。


localizedCompare:

– (NSComparisonResult)localizedCompare:(NSString *)aString

指定した文字列をローカライズした語彙で比較し、その結果を返します。

aString:比較対象となる文字列です。
nilを指定した場合の動作は未定義なので、指定しないでください。


longLongValue

– (long long)longLongValue

long long型の整数を10進数で返します。

文字列の先頭にある空白はスキップします。

オーバーフローした場合にはLLONG_MAXまたはLLONG_MINを返します。

また、レシーバの値が有効な10進数表記のテキストで始まっていない場合は0を返します。

このメソッドはローカライズされていない値を使用します。
(ローカライズされている場合はNSScannerオブジェクトを使います)


lowercaseString

– (NSString *)lowercaseString

単語を小文字にして返します

また、結合文字などが含まれる場合、同じ長さになるとは限りません。

例えばドイツ語で『SS』を意味する『ß』場合、uppercaseStringでは『SS』に変換されますが、lowercaseStringでは変換されません。


maximumLengthOfBytesUsingEncoding:

– (NSUInteger)maximumLengthOfBytesUsingEncoding:(NSStringEncoding)enc

指定したエンコーディングに変換した場合に、必要な文字列の最大バイト数を返します。

戻り値のバイト数にはエンコーディング情報も含みます。
(NULL終端のバイト数は含みません)

指定したエンコーディングで変換できない、または変換した文字列をメモリに格納できなかった(NSIntegerMaxを超える長さ)場合は0を返します。

enc:NSStringオブジェクトの長さを求めるエンコーディング。


paragraphRangeForRange:

– (NSRange)paragraphRangeForRange:(NSRange)aRange

指定した範囲にある段落の全体範囲を返します。
(Unicode paragraph separatorも含みます)

aRange:検索する行のある範囲を指定します。


pathComponents

– (NSArray *)pathComponents

パス区切り文字『/』で区切られた要素を含むNSStringオブジェクトから配列を作ります。

文字列の最初か最後が『/』になっている場合は、『/』が要素に含まれます。

『/』が連続した場合は空の要素と見なして削除されます。

『/』が無い場合はその文字列のみが要素の配列になります。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


pathExtension

– (NSString *)pathExtension

ファイルパスの拡張子を返します。

戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp/scratch.tiff""tiff"
"/tmp/scratch"""(空の文字列)
"/tmp/"""(空の文字列)
"/tmp/scratch..tiff""tiff"

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


precomposedStringWithCanonicalMapping

– (NSString *)precomposedStringWithCanonicalMapping

文字列をUnicode正規化形式Cで分解して返します。


precomposedStringWithCompatibilityMapping

– (NSString *)precomposedStringWithCompatibilityMapping

文字列をUnicode正規化形式KCで分解、合成して返します。


rangeOfCharacterFromSet:

– (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet

指定した文字集合を検索し、最初に見つけた文字集合の範囲を返します。

指定した文字集合が見つけられなかった場合、{NSNotFound, 0}を返します。

aSet:検索する文字集合。
(nilを指定することはできません。aSetがnilの場合、NSInvalidArgumentExceptionを呼び出します)


rangeOfCharacterFromSet:options:

– (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask

指定した文字集合をオプション付き検索し、最初に見つけた文字集合の範囲を返します。

指定した文字集合が見つけられなかった場合、{NSNotFound, 0}を返します。

aSet:検索する文字集合(nilを指定することはできません。aSetがnilの場合、NSInvalidArgumentExceptionを呼び出します)

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。


rangeOfCharacterFromSet:options:range:

– (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask range:(NSRange)aRange

指定した文字集合を範囲とオプション付き検索し、最初に見つけた文字集合の範囲を返します。

指定した文字集合が見つけられなかった場合、{NSNotFound, 0}を返します。

結合文字などで1文字を検索した結果が1文字以上になる場合があります。
(例:文字集合『stru¨del』から『ü』を検索した場合、結果範囲が{3,2}になります)

:検索する文字集合。
(nilを指定することはできません。aSetがnilの場合、NSInvalidArgumentExceptionを呼び出します)

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。

aRange:検索範囲を指定します。
元の文字列の範囲を超えてはいけません。
(文字列を超える範囲を指定した場合、NSRangeExceptionで例外を発生させます)


rangeOfComposedCharacterSequenceAtIndex:

– (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)anIndex

指定した位置の文字範囲を判別して返します。

Unicodeでは結合文字という、濁点や半濁点などを前の文字と合成して1文字として表示するものがあります。

このように結合文字の場合、表示上1文字でもコード上では複数文字で構成されている場合が有るため、その検出に使えます。

anIndex:文字範囲を判別する文字位置を指定します。


rangeOfComposedCharacterSequencesForRange:

– (NSRange)rangeOfComposedCharacterSequencesForRange:(NSRange)range

指定した範囲の文字範囲を判別して返します。

Unicodeでは結合文字という、濁点や半濁点などを前の文字と合成して1文字として表示するものがあります。

このように結合文字の場合、表示上1文字でもコード上では複数文字で構成されている場合が有るため、その検出に使えます。

range:文字範囲を判別する範囲を指定します。
この範囲は検索するNSStringオブジェクトより大きく設定してはいけません。


rangeOfString:

– (NSRange)rangeOfString:(NSString *)aString

指定した文字列を検索し、最初に見つけた文字列の範囲を返します。

指定した文字列が見つけられない、もしくは空の文字列(@"")を指定した場合は{NSNotFound, 0}を返します。

aString:検索する文字列。(nilを指定することはできません。aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)


rangeOfString:options:

– (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask

指定した文字列をオプション付きで検索し、最初に見つけた文字列の範囲を返します。

指定した文字列が見つけられない、もしくは空の文字列(@"")を指定した場合は{NSNotFound, 0}を返します。

aString:検索する文字列。
(nilを指定することはできません。aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearchNSAnchoredSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。


rangeOfString:options:range:

– (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange

指定した文字列を範囲とオプション付きで検索し、最初に見つけた文字列の範囲を返します。

指定した文字列が見つけられない、もしくは空の文字列(@"")を指定した場合は{NSNotFound, 0}を返します。

aString:検索する文字列。
(nilを指定することはできません。aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearchNSAnchoredSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。

aRange:検索範囲を指定します。
元の文字列の範囲を超えてはいけません。
(文字列を超える範囲を指定した場合、NSRangeExceptionで例外を発生させます)


rangeOfString:options:range:locale:

– (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)searchRange locale:(NSLocale *)locale

指定した文字列を範囲とオプション付きで検索し、最初に見つけた文字列の範囲を返します。

指定した文字列が見つけられない、もしくは空の文字列(@"")を指定した場合は{NSNotFound, 0}を返します。

aString:検索する文字列。
(nilを指定することはできません。aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)

mask:検索オプション(NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearchNSAnchoredSearch)を指定します。
or演算子『|』で複数オプションを指定可能です。

aRange:検索範囲を指定します。
元の文字列の範囲を超えてはいけません。
(文字列を超える範囲を指定した場合、NSRangeExceptionで例外を発生させます)

locale:検索文字列と比較するロケールを指定します(nilの場合、現在のロケールになります)
このlocaleでアルゴリズムのチェックをすることもできます。
(例:トルコ語環境で大文字/小文字を区別しない条件の場合、『I』(U+0049:Latin Captal Letter I)は『i』(U+0069:Latin Small Letter I)だけでなく『ı』(U+0131:Latin Small Dotkess I)とも同一とみなされます)


smallestEncoding

– (NSStringEncoding)smallestEncoding

情報損失無しで最小なエンコーディングを返します。

このメソッドは実行に時間がかかる場合が有り、速くはありませんが空間効率は良いです。


stringByAbbreviatingWithTildeInPath

– (NSString *)stringByAbbreviatingWithTildeInPath

現在のユーザのホームディレクトリへのフルパスの代わりに、チルダ(~)を用いた相対パスを新規の文字列として返します。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByAddingPercentEscapesUsingEncoding:

– (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

指定したエンコーディングを使ってURLを変換し、URLエンコーディング文字列を返します。

変換に失敗した場合はnilを返します。

変換に関する詳細は、CFURLCreateStringByAddingPercentEscapesを参照してください。

encoding:エンコーディングを指定します


stringByAppendingFormat:

– (NSString *)stringByAppendingFormat:(NSString *)format ...

指定したフォーマットで文字列を追加して返します。
(formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:フォーマット(書式)。
(nilを指定することはできません)

...:カンマ区切りで値を指定します。


stringByAppendingPathComponent:

– (NSString *)stringByAppendingPathComponent:(NSString *)aString

レシーバの文字列に指定した文字列を追加した新規の文字列を返します。

パスの区切り文字『/』は必要に応じて付与します。

aString:パスに追加する文字列を指定します。

aStringを"scratch.tiff"にした場合の、戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp""/tmp/scratch.tiff"
"/tmp/""/tmp/scratch.tiff"
"/""/scratch.tiff"
""(空の文字列)"scratch.tiff"

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByAppendingPathExtension:

– (NSString *)stringByAppendingPathExtension:(NSString *)ext

レシーバの文字列に指定した文字列を拡張子として追加し、新規の文字列を返します。

ext:追加する拡張子を指定します。

パスの区切り文字『/』は必要に応じて付与します。

extを"tiff"にした場合の、戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp/scratch.old""/tmp/scratch.old.tiff"
"/tmp/scratch.""/tmp/scratch..tiff"
"/tmp/""/tmp.tiff"
"scratch""scratch.tiff"

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByAppendingString:

– (NSString *)stringByAppendingString:(NSString *)aString

指定した文字列を追加した新規の文字列を返します。
(formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

aString:NSStringオブジェクトに追加する文字列です。
(nilを指定することはできません)


stringByDeletingLastPathComponent

– (NSString *)stringByDeletingLastPathComponent

パスの最後の要素をパスの区切り文字『/』と共に削除し、新規の文字列を返します。

ルートパスの場合は変更しません。

戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp/scratch.tiff""/tmp"
"/tmp/lock/""/tmp"
"/tmp/""/"
"/tmp""/"
"/""/"
"scratch.tiff"""(空の文字列)

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByDeletingPathExtension

– (NSString *)stringByDeletingPathExtension

拡張子を削除し、新規の文字列を返します。

最後がパスの区切り文字『/』の場合は『/』を削除します。

ルートパスの場合は変更しません。

戻り値の例を下表に示します。

レシーバの文字列戻り値の文字列
"/tmp/scratch.tiff""/tmp/scratch"
"/tmp/""/tmp"
"scratch.bundle/""scratch"
"scratch..tiff""scratch."
".tiff"".tiff"
"/""/"

レシーバが拡張子のみの場合、削除されないので注意してください。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByExpandingTildeInPath

– (NSString *)stringByExpandingTildeInPath

チルダ『~』または『~user』の相対パスを絶対パスに展開し、新規文字列を返します。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)


stringByFoldingWithOptions:locale:

– (NSString *)stringByFoldingWithOptions:(NSStringCompareOptions)options locale:(NSLocale *)locale

文字列を指定したロケールで畳み込んで返します。

畳み込みを行う事で、大文字と小文字を入れ替えることができます。

options:大文字/小文字の比較オプションを指定します。

locale:畳み込みの方式についてのロケールを指定します。
例えばロケールがトルコ語で大文字/小文字を区別しない場合、『I(U+0049、Latin Capital Letter I)』と『ı(U+0131、Latin Small Letter Dotless I)』は一致しますが、『i(Latin Small Letter I)』とは異なります。


stringByPaddingToLength:withString:startingAtIndex:

– (NSString *)stringByPaddingToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex

NSStringオブジェクトを指定した範囲の長さにし、余った文字は取り除き、足りない分は穴埋めして文字列を返します。

newLength:NSStringオブジェクトの新たな長さを指定します。

padString:穴埋めする文字列を指定します。

padIndex:穴埋めする文字列の開始位置を指定します。


stringByReplacingCharactersInRange:withString:

– (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement

指定した範囲で文字列中の文字を置換して、新しい文字列を作ります。

range:置換対象の検索範囲を指定します。

replacement:置換する文字列を指定します。


stringByReplacingOccurrencesOfString:withString:

– (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

targetの文字列をreplacementの文字列に全て置換し、新しい文字列を作ります。

target:置換対象になる文字列を指定します。

replacement:置換する文字列を指定します。


stringByReplacingOccurrencesOfString:withString:options:range:

– (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange

指定した範囲とオプションで、targetの文字列をreplacementの文字列に全て置換し、新しい文字列を作ります。

target:置換対象になる文字列を指定します。

replacement:置換する文字列を指定します。

options:置換対象の検索オプションを指定します。
(『0』を指定するとオプション無しになります)

searchRange:置換対象の検索範囲を指定します。


stringByReplacingPercentEscapesUsingEncoding:

– (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

指定したエンコーディングを使ってURLエンコーディング文字列を変換し、URLを返します。

変換に失敗した場合はnilを返します。

より複雑な設定をする場合は、CFURLCreateStringByReplacingPercentEscapesを使います。

encoding:エンコーディングを指定します。


stringByResolvingSymlinksInPath

– (NSString *)stringByResolvingSymlinksInPath

シンボリックリンク(MacOSのエイリアスやWindowsのショートカットに相当する参照情報で、実体へのファイルパスを示す)を標準パスに変換し、新規文字列を返します。

エラーが発生した場合はselfを返します。

レシーバのパス名が『/private』で始まる場合は、そのまま返します。


stringByStandardizingPath

– (NSString *)stringByStandardizingPath

無関係なパスの要素を除外して、新しい文字列を返します。

シンボリックリンクを検出した場合は、stringByResolvingSymlinksInPathを呼び出します。

無効なパス名の場合は、stringByResolvingSymlinksInPathを試しますが、結果が不明瞭になります。

パス要素が無い場合は、selfを返します。

戻り値の中にシンボリックリンクが残っている場合があります。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)

このメソッドは文字列に以下の変更を加えられます。

・チルダで始まる場合、stringByExpandingTildeInPathで展開します。

・空の要素と現在のディレクトリ(『//』と『/./』)は削除され、一つのパス区切り文字『/』になります。

・絶対パスの場合、stringByResolvingSymlinksInPathを使って親ディレクトリを参照し、シンボリックリンクがないか確認・解消します。

・相対パスの場合、シンボリックリンクが解決できないため、親ディレクトリが残ります。

・『/private』で始まる場合は、そのまま返します。
(そのパスにファイルが存在しているかどうかはチェックされません)


stringByTrimmingCharactersInSet:

– (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set

NSStringオブジェクトの文字列の両端から、指定した文字集合を取り除いた文字列を返します。

元の文字列が除外する文字集合のみで構成されていた場合、空の文字列を返します。

set:除外する文字集合。
(nilを指定することはできません)
文字集合にはwhitespaceCharacterSet(空白とタブ)やwhitespaceAndNewlineCharacterSet(空白とタブ、改行文字)などの標準文字集合の他、componentsSeparatedByCharactersInSet:でカスタマイズも指定できます。


stringsByAppendingPaths:

– (NSArray *)stringsByAppendingPaths:(NSArray *)paths

レシーバの文字配列に、指定した文字配列とパス区切り文字『/』を追加して返します。

このメソッドはファイルパスに対してのみ使用してください。
(URLなどで使わないこと)

paths
:追加するパスの文字配列を指定します。


substringFromIndex:

– (NSString *)substringFromIndex:(NSUInteger)anIndex

先頭から指定した文字位置までを削除した部分文字列を、新規の文字列で返します。

anIndex:文字列の中から切り取る部分までの文字位置を指定します。
文字列の長さを超える文字位置を指定した場合、NSRangeExceptionで例外を発生させます。
文字列の長さと同じ文字位置を指定した場合は、空の文字列を返します。


substringToIndex:

– (NSString *)substringToIndex:(NSUInteger)anIndex

先頭から指定した文字までの部分文字列を、新規の文字列で返します。

anIndex:文字列の中から切り取る部分までの文字位置を指定します。
文字列と同じ長さまで指定可能です。
文字列の長さを超える文字位置を指定した場合、NSRangeExceptionで例外を発生させます。


substringWithRange:

– (NSString *)substringWithRange:(NSRange)aRange

指定した範囲の部分文字列を返します。

aRange:切り取る範囲を指定します。
元の文字列の範囲を超えてはいけません。
(文字列を超える範囲を指定した場合、NSRangeExceptionで例外を発生させます)


uppercaseString

– (NSString *)uppercaseString

単語を大文字にして返します。

また、結合文字などが含まれる場合、同じ長さになるとは限りません(lowercaseString参照)。


UTF8String

– (const char *)UTF8String

NULL終端のUTF8エンコーディングのC文字列を返します。

戻り値であるC文字列は、元になるNSStringオブジェクトの文字列が解放される、あるいは自動解放が行われると消滅しますので、必要な場合はコピーを取って下さい。


writeToFile:atomically:encoding:error:

– (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error

指定したエンコードでパスのファイルに書き出します。
(書き出しが正常終了するとYES、異常終了した場合はNOを返します)

path:NSStringオブジェクトを書き出すファイルのパスを指定します。
(パスの中にチルダ『~』が含まれている場合、このメソッドを呼び出す前にstringByExpandingTildeInPathで変換をかける必要があります)

useAuxiliaryFileYESの場合、一度予備ファイルに書き出してから、本来指定したパスのファイルに書き換えます。
そのため、書き出し途中にクラッシュしても元のパスのファイル内容は保証されます。
NOの場合、直接指定したパスのファイルに書き出します。

enc:パスの示しているファイルのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)


writeToURL:atomically:encoding:error:

– (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error

指定したエンコードでパスのURLに書き出します。

url:NSStringオブジェクトを書き出すURLを指定します。

useAuxiliaryFileYESの場合、一度予備ファイルに書き出してから本来指定したURLに書き換えます。
そのため、書き出し途中にクラッシュしても元のパスのファイル内容は保証されます。
NOの場合、直接指定したパスのファイルに書き出します。

enc:パスの示しているURLのエンコーディング。

error:エラーが発生した場合、エラー内容をNSErrorオブジェクトで返します。
(エラー内容が不要な場合はNULLを指定します)



●定数

検索と比較オプション

enum {
    NSCaseInsensitiveSearch = 1,
    NSLiteralSearch = 2,
    NSBackwardsSearch = 4,
    NSAnchoredSearch = 8,
    NSNumericSearch = 64,
    NSDiacriticInsensitiveSearch = 128,
    NSWidthInsensitiveSearch = 256,
    NSForcedOrderingSearch = 512,
    NSRegularExpressionSearch = 1024
};

これらの値は、文字列クラスの検索と比較メソッドの多くで使用できるオプションを表します。

これらのオプションの効果についての詳細は『Searching, Comparing, and Sorting Strings』を参照してください。

NSCaseInsensitiveSearch
大文字と小文字を区別しないで検索します。

NSLiteralSearch
文字が完全に一致する検索をします。

NSBackwardsSearch
文字列を文末から検索します。

NSAnchoredSearch
文字列を最初から(NSBackwardsSearchの場合は最後から)検索します。

NSNumericSearch
文字列の数字を数値として比較します。
(例:Foo2.txt < Foo7.txt < Foo25.txt)
このオプションは比較メソッドのみで、検索では使用できません。

NSDiacriticInsensitiveSearch
区別的発音符を無視して検索します。
(例:『o』と『o』は同じものと見なします)

NSWidthInsensitiveSearch
東アジアの文字セットに見られる、全角と半角で異なる幅を持つ文字を無視して検索します。
(例:このオプションでは全角のラテン小文字『a』(Unicode code point U+FF41)と基本的なラテン小文字『a』(Unicode code point U+0061)は同じものと見なします)

NSForcedOrderingSearch
同じ文字列ですが厳密には異なるものを比較し、NSOrderedAscendingまたはNSOrderedDescendingを返します。
このオプションは並べ替えの時に安定性を生みます。
(例:NSCaseInsensitiveSearchを指定した場合、『aaa』は『AAA』より大きくなります)

NSRegularExpressionSearch
文字列をICU互換の正規表現として扱って検索します。
設定する場合NSCaseInsensitiveSearchNSAnchoredSearch以外の他のプションは適用できません。
このオプションはrangeOfString:...メソッドでのみ使用することができます。


文字列エンコーディング

以下の定数はNSStringによって提供され、文字列のエンコーディングとして有効です。

enum {
    NSASCIIStringEncoding = 1,
    NSNEXTSTEPStringEncoding = 2,
    NSJapaneseEUCStringEncoding = 3,
    NSUTF8StringEncoding = 4,
    NSISOLatin1StringEncoding = 5,
    NSSymbolStringEncoding = 6,
    NSNonLossyASCIIStringEncoding = 7,
    NSShiftJISStringEncoding = 8,
    NSISOLatin2StringEncoding = 9,
    NSUnicodeStringEncoding = 10,
    NSWindowsCP1251StringEncoding = 11,
    NSWindowsCP1252StringEncoding = 12,
    NSWindowsCP1253StringEncoding = 13,
    NSWindowsCP1254StringEncoding = 14,
    NSWindowsCP1250StringEncoding = 15,
    NSISO2022JPStringEncoding = 21,
    NSMacOSRomanStringEncoding = 30,
    NSUTF16StringEncoding = NSUnicodeStringEncoding,
    NSUTF16BigEndianStringEncoding = 0x90000100,
    NSUTF16LittleEndianStringEncoding = 0x94000100,
    NSUTF32StringEncoding = 0x8c000100,
    NSUTF32BigEndianStringEncoding = 0x98000100,
    NSUTF32LittleEndianStringEncoding = 0x9c000100,
    NSProprietaryStringEncoding = 65536
};

NSASCIIStringEncoding
8ビット文字の内、厳密な7ビットのASCIIエンコーディング。(ASCII値0~127のみ)

NSNEXTSTEPStringEncoding
NEXTSTEP拡張8ビットASCIIエンコーディング。

NSJapaneseEUCStringEncoding
日本語テキスト用8ビットEUCエンコーディング。

NSUTF8StringEncoding
ASCIIベースのシステムによる、送信または格納に適したUnicode文字の8ビット表現。

NSISOLatin1StringEncoding
8ビットISO Latin 1エンコーディング。

NSSymbolStringEncoding
8ビットAdobe Symbolエンコーディングベクター。

NSNonLossyASCIIStringEncoding
全てのUnicode文字を表現する7ビット冗長ASCII。

NSShiftJISStringEncoding
日本語テキスト用8ビットShift-JISエンコーディング。

NSISOLatin2StringEncoding
8ビットISO Latin 2エンコーディング。

NSUnicodeStringEncoding
文字列オブジェクト用の標準的なUnicodeエンコーディング。

NSWindowsCP1251StringEncoding
Microsoft Windows codepage 1251。キリル文字のエンコーディング。
AdobeStandardCyrillicフォントエンコーディングに相当します。

NSWindowsCP1252StringEncoding
Microsoft Windows codepage 1252。WinLatin1に相当します。

NSWindowsCP1253StringEncoding
Microsoft Windows codepage 1253。ギリシャ文字のエンコーディング。

NSWindowsCP1254StringEncoding
Microsoft Windows codepage 1254。トルコ文字のエンコーディング。

NSWindowsCP1250StringEncoding
Microsoft Windows codepage 1250。WinLatin2に相当します。

NSISO2022JPStringEncoding
email用ISO 2022日本語エンコーディング。

NSMacOSRomanStringEncoding
Classic MacintoshのRomanエンコーディング。

NSUTF16StringEncoding
NSUnicodeStringEncodingの別名。

NSUTF16BigEndianStringEncoding
ビッグエンディアンを指定されたNSUTF16StringEncodingエンコーディング。

NSUTF16LittleEndianStringEncoding
リトルエンディアンを指定されたNSUTF16StringEncodingエンコーディング。

NSUTF32StringEncoding
32ビットUTFエンコーディング。

NSUTF32BigEndianStringEncoding
ビッグエンディアンを指定されたNSUTF32StringEncodingエンコーディング。

NSUTF32LittleEndianStringEncoding
リトルエンディアンを指定されたNSUTF32StringEncodingエンコーディング。

NSProprietaryStringEncoding
インストール固有のエンコーディング、
非推奨。このエンコーディングは推奨されず、代替はありません。)
固有エンコーディングはMac OS X v10.0以降は使用しません。
代わりに標準のエンコーディングを指定する必要があります。

これらの値はNSStringクラスによってサポートされている、様々な文字エンコーディングを表します。

これは不完全なリストです。

追加のエンコーディングは『String Programming Guide for Core Foundation(CFStringEncodingExt.h参照)』で定義されています。

これらのエンコーディングは、最初にCore FoundationのエンコーディングをCFStringConvertEncodingToNSStringEncoding関数に渡すことによって、NSStringで使用することができます。



参考文献

NSString Class Reference






Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/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

Bose QuietComfort 20
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