- インスタンスメソッド(M ~ Z)
- - maximumLengthOfBytesUsingEncoding:
- - paragraphRangeForRange:
- - pathComponents
- - pathExtension
- - precomposedStringWithCanonicalMapping
- - precomposedStringWithCompatibilityMapping
- - propertyList
- - propertyListFromStringsFileFormat
- - rangeOfCharacterFromSet:
- - rangeOfCharacterFromSet:options:
- - rangeOfCharacterFromSet:options:range:
- - rangeOfComposedCharacterSequenceAtIndex:
- - rangeOfComposedCharacterSequencesForRange:
- - rangeOfString:
- - rangeOfString:options:
- - rangeOfString:options:range:
- - rangeOfString:options:range:locale:
- - smallestEncoding
- - stringByAbbreviatingWithTildeInPath
- - stringByAddingPercentEncodingWithAllowedCharacters:
- - stringByAddingPercentEscapesUsingEncoding:
- + stringByAppendingFormat:
- - stringByAppendingPathComponent:
- - stringByAppendingPathExtension:
- - stringByAppendingString:
- - stringByDeletingLastPathComponent
- - stringByDeletingPathExtension
- - stringByExpandingTildeInPath
- - stringByFoldingWithOptions:locale:
- - stringByPaddingToLength:withString:startingAtIndex:
- - stringByRemovingPercentencoding
- - stringByReplacingCharactersInRange:withString:
- - stringByReplacingOccurrencesOfString:withString:
- - stringByReplacingOccurrencesOfString:withString:options:range:
- - stringByReplacingPercentEscapesUsingEncoding:
- - stringByResolvingSymlinksInPath
- - stringByStandardizingPath
- - stringByTrimmingCharactersInSet:
- - stringsByAppendingPaths:
- - substringFromIndex:
- - substringToIndex:
- - substringWithRange:
- - uppercaseString
- - uppercaseStringWithLocale:
- - UTF8String
- - writeToFile:atomically:encoding:error:
- - writeToURL:atomically:encoding:error:
- Referred from
- Copyright
- NSStringクラスメソッドへもどる
インスタンスメソッド(M ~ Z)
- maximumLengthOfBytesUsingEncoding:
あたえられたエンコーディングでレシーバを保存するのに必要な、最大のバイト数を返します。
- (NSUInteger)maximumLengthOfBytesUsingEncoding:(NSStringEncoding)enc
Parameters
enc
レシーバの長さを決定するのに必要なエンコーディング。
Return Value
外用の表現ではない'encでレシーバを保存するのに必要な最大のバイト数。長さには、NULL終端文字への領域が含まれません。エンコーディングの結果から得られるものを保存するのに必要なメモリの量がNSIntegerMaxを超えてたら、0を返します。
Discussion
得られる結果は推定値で、その時に有り得るかもしれない値です(よく分かりません。The result is an estimate and is returned in O(1) time; )。この推定値はおそらく実際に必要とする長さよりも著しく大きいでしょう。
Availability
Available in OS X v10.4 and later.
See Also
- lengthOfBytesUsingEncoding:
- length
Declared In
NSString.h
- paragraphRangeForRange:
あたえられた範囲を含むパラグラフを表す文字の範囲を返します。
- (NSRange)paragraphRangeForRange:(NSRange)aRange
Parameters
aRange レシーバの中にある範囲。この範囲は、レシーバーの境界を越えてはいけません。
Return Value
aRangeを含むパラグラフを表す文字の範囲。これにはパラグラフ終端文字も含まれます。
Availability
Available in OS X v10.3 and later.
See Also
- getParagraphStart:end:contentsEnd:forRange:
- lineRangeForRange:
Declared In
NSString.h
- pathComponents
レシーバにあるパス要素を順序どおりに含む、NSStringオブジェクトの配列を返します。
- (NSArray *)pathComponents
Return Value
レシーバにあるパス要素を順序どおりに含む、NSStringオブジェクトの配列。
Discussion
配列にある文字列は、レシーバの中にあったとおりの順序であらわれます。文字列がパス区切り子で始まるか終わるなら、それぞれ最初か最後の要素はその区切り子となります。空の要素(パス区切り子が連続することで発生する)は削除されます。たとえば、次の抜粋コードは:
NSString *path = @"tmp/scratch"; NSArray *pathComponents = [path pathComponents];
これは次の要素を持つ配列を作ります:
| インデックス | パス要素 |
| 0 | “tmp” |
| 1 | “scratch” |
レシーバがスラッシュで始まると、たとえば“/tmp/scratch”、配列はそれらの中味を持ちます。
| インデックス | パス要素 |
| 0 | “/” |
| 1 | “tmp” |
| 2 | “scratch” |
レシーバがセパレータを持たないと、たとえば“scratch”、配列は文字列そのもの、この場合は“scratch”、を含むものとなります。
注意:このメソッドはファイルパスとのみ動作します(たとえば、URLの文字列表現では動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- pathWithComponents:
- stringByStandardizingPath
- componentsSeparatedByString:
Related Sample Code
CustomSave
IKImageViewDemo
ZipBrowser
Declared In
NSPathUtilities.h
- pathExtension
レシーバをパスとして解釈し、レシーバの拡張子が存在すれば、それを返します。
- (NSString *)pathExtension
Return Value
存在すれば、レシーバの拡張子(拡張子の分離子は含みません)。
Discussion
パス拡張子はパス要素の最後の部分であり、もし存在するなら最後のピリオドに続く部分です。次の表では、さまざまに異なるパスにあるpathExtensionの影響を示します:
| レシーバの文字列 | 結果の文字列 |
| “/tmp/scratch.tiff” | “tiff” |
| “.scratch.tiff” | “tiff” |
| “/tmp/scratch” | “” (an empty string) |
| “/tmp/” | “” (an empty string) |
| “/tmp/scratch..tiff” | “tiff” |
注意:このメソッドはファイルパスとのみ動作します(たとえば、URLの文字列表現では動作しません)。
Availability
Available in OS X v10.0 and later.
Related Sample Code
CocoaSlides
ImageKitDemo
LinkedImageFetcher
Sketch+Accessibility
ZipBrowser
Declared In
NSPathUtilities.h
- precomposedStringWithCanonicalMapping
Form Cを使用してレシーバの内容を標準化して得られた文字列を返します。
- (NSString *)precomposedStringWithCanonicalMapping
Return Value
The Unicode Normalization Form Cを使用してレシーバの内容を標準化して得られた文字列。
Availability
Available in OS X v10.2 and later.
See Also
- precomposedStringWithCompatibilityMapping
- decomposedStringWithCanonicalMapping
Declared In
NSString.h
- precomposedStringWithCompatibilityMapping
Form KCを使用してレシーバの内容を標準化して得られた文字列を返します。
- (NSString *)precomposedStringWithCompatibilityMapping
Return Value
The Unicode Normalization Form KCを使用してレシーバの内容を標準化して得られた文字列。
Availability
Available in OS X v10.2 and later.
See Also
- precomposedStringWithCaNOnicalMapping
- decomposedStringWithCompatibilityMapping
Declared In
NSString.h
- propertyList
レシーバをプロパティリストのテキスト表現としてパースし、1つNSString, NSData, NSArray, もしくはNSDictionaryどれかをオブジェクトを返します。ここでどのオブジェクトが返されるかは、最上位のエレメント次第です。
- (id)propertyList
Return Value
最上位のエレメントに従って、返される1つのNSString, NSData, NSArray, もしくはNSDictionaryオブジェクトのプロパティリスト表現。
Discussion
レシーバはプロパティリスト形式の文字列を含まなくてはなりません。プロパティリスト形式についての解説は、Property List Programming Guideを参照してください。
重要:もしレシーバがプロパティリストとして解釈できないなら、NSParseErrorExceptionが発生します。
Availability
Available in OS X v10.0 and later.
See Also
- propertyListFromStringsFileFormat
- stringWithContentsOfFile:
Declared In
NSString.h
- propertyListFromStringsFileFormat
レシーバで見つかったキーとバリューで初期化した辞書オブジェクトを返します。
- (NSDictionary *)propertyListFromStringsFileFormat
Return Value
レシーバで見つかったキーとバリューで初期化した辞書オブジェクト。
Discussion
レシーバは、.stringsファイルに使うフォーマットのテキストを含まなければなりません。このフォーマットでは、キーとバリューが=記号(イコール)で分離されていて、どのペアもセミコロンで終わります。バリューはオプションです。存在しないなら、=記号も省略できます。キーとバリュー自体は常に、一対の引用符で囲まれた文字列です。コメントを含めることができ、ANSI Cタイプの/*と*/で境界を指定します。次では文字列ファイルでの短い例を示します:
/ * 終了するかどうかを確認するパネルでの質問 */ "終了を確認する" = "本当に終了してもいいですか?";
/* Question in confirmation panel for quitting. */ "Confirm Quit" = "Are you sure you want to quit?";
/* セーブしていない書類をユーザが閉じようとしたときのメッセージ */ "閉じるか保存するか" = "閉じる前に変更を保存しますか?";
/* Message when user tries to close unsaved document */ "Close or Save" = "Save changes before closing?";
/* キャンセルの単語 */ "キャンセル";
/* Word for Cancel */ "Cancel";
Availability
Available in OS X v10.0 and later.
See Also
- propertyList
- stringWithContentsOfFile:
Declared In
NSString.h
- rangeOfCharacterFromSet:
あたえられたキャラクターセットに含まれる文字をレシーバの中を探し、最初に見つかった文字の範囲を返します。
- (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet
Parameters
aSet
文字のセット。この値はnilではいけません。
aSetがnilだと、NSInvalidArgumentExceptionが発生します。
Return Value
aSetに含まれる文字をレシーバの中で探し、最初に見つかった文字の範囲。aSetにある文字が見つからなかったら、{NSNotFound, つまり0} の範囲を返します。
Discussion
これは、オプションなしのrangeOfCharacterFromSet:options:を呼び出しています。
Availability
Available in OS X v10.0 and later.
Declared In
NSString.h
- rangeOfCharacterFromSet:options:
あたえられたオプションを使い、あたえられたキャラクターセットに含まれる文字をレシーバの中を探し、最初に見つかった文字の範囲を返します。
- (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask
Parameters
aSet
文字のセット。この値はnilではいけません。
aSetがnilだと、NSInvalidArgumentExceptionが発生します。
mask
検索オプションを指定するマスク。次に挙げるオプションをCのORビット演算子でつなげて指定します:NSAnchoredSearch、NSBackwardsSearch。
Return Value
aSetに含まれる文字をレシーバの中を探し、最初に見つかった文字の範囲。aSetにある文字が見つからなかったら、{NSNotFound, つまり0}の範囲を返します。
Discussion
このメソッドは、rangeOfCharacterFromSet:options:range:を呼び出します。ここで、オプションにmaskを適用し、レシーバの全範囲を範囲としています。
Availability
Available in OS X v10.0 and later.
Declared In
NSString.h
- rangeOfCharacterFromSet:options:range:
あたえられたオプションを使い、あたえられたレシーバの範囲の中で、あたえられたキャラクターセットに含まれる文字を探し、最初に見つかった文字の範囲を返します。
- (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask range:(NSRange)aRange
Parameters
aSet
文字のセット。この値はnilではいけません。
aSetがnilだと、NSInvalidArgumentExceptionが発生します。
mask
検索オプションを指定するマスク。次に挙げるオプションをCのORビット演算子でつなげて指定します:NSAnchoredSearch、NSBackwardsSearch。
aRange
検索を行う範囲。aRangeはレシーバの境界を超えてはいけません。
aRangeが無効なら、NSRangeExceptionが発生します。
Return Value
aSetに含まれる文字をレシーバの中を探し、最初に見つかった文字の範囲。aSetにある文字が見つからなかったら、{NSNotFound, つまり0}の範囲を返します。
Discussion
aSetにある文字はあらかじめ合成されるので、レシーバにある合成文字の並びとマッチすることができます。これにより返される範囲の長さは1より大きくなる可能性があります。たとえば、文字列“stru¨del”の中から“ü”を探そうとしたら、返される範囲は{3,2}になります。
Special Considerations
このメソッドはすべての無効な範囲を検出します(負の長さといったものを含みます)。OS X v10.6以降を対象としているアプリケーションでは、このエラーは例外となります。それ以前のバージョンでは、このエラーは警告となり、アプリケーションが実行される度に一度だけ表示されます。
Availability
Available in OS X v10.0 and later.
Declared In
NSString.h
- rangeOfComposedCharacterSequenceAtIndex:
あたえられたインデックスに位置している合成文字の並びを、レシーバの中での範囲として返します。
- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)anIndex
Parameters
anIndex
レシーバの中にある文字のインデックス。この値は、レシーバの境界を越えてはいけません
Return Value
anIndexに位置している合成文字の並びのレシーバでの範囲。
Discussion
合成文字の並びには、anIndexの位置かそれより前にある最初に見つかったベース文字を含みます。その長さは、ベース文字と、そのベース文字に続く非ベース文字のすべてを足し合わせた数です。
Availability
Available in OS X v10.0 and later.
See Also
- rangeOfComposedCharacterSequencesForRange:
Declared In
NSString.h
- rangeOfComposedCharacterSequencesForRange:
あたえられた範囲にある合成文字シークエンスからなる文字列の範囲を返します。
- (NSRange)rangeOfComposedCharacterSequencesForRange:(NSRange)range
Parameters
range
レシーバ中の範囲。この範囲はレシーバの境界を越えてはいけません。
Return Value
rangeの中にある合成文字シークエンスを含む、レシーバ中の範囲。
Discussion
このメソッドは、相互に重なっているすべての合成文字シークエンスを含む範囲を拡げるのに、便利な方法を提供します。
Availability
Available in OS X v10.5 and later.
See Also
- rangeOfComposedCharacterSequenceAtIndex:
Declared In
NSString.h
- rangeOfString:
あえられた文字列をレシーバの中で探し、最初に見つかった範囲を返します。
- (NSRange)rangeOfString:(NSString *)aString
Parameters
aString
検索する文字列。この値はnilではいけません。
aStringがnilだと、NSInvalidArgumentExceptionが発生します。
Return Value
aStingが最初に出現するレシーバでの位置と長さからなるNSRange。aStringが見つからないか、aRangeが空(@"")なら、(NSNotFound, 0}を返します。
Discussion
このメソッドは、オプションを指定しないでrangeOfString:options:を呼び出します。
Availability
Available in OS X v10.0 and later.
Related Sample Code
Aperture Image Resizer
AppSandboxLoginItemXPCDemo
CustomSave
SourceView
Declared In
NSString.h
- rangeOfString:options:
あたえられたオプションを条件にして、レシーバの中にあるあたえられた文字列を探し、最初に出現した範囲を返します。
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask
Parameters
aString
検索する文字列。この値はnilではいけません。
重要:aStringがnilだと、NSInvalidArgumentExceptionが発生します。
mask
検索オプションを指定するマスク。次に挙げるオプションをCのORビット演算子でつなげて指定します:NSCaseInsensitiveSearch, NSLiteralSearch, NSBackwardsSearch, NSAnchoredSearch。これらオプションについて詳しくは、String Programming Guideを参照してください。
Return Value
maskを条件にして、aStingが最初に出現するレシーバでの位置と長さからなるNSRange。aStringが見つからないか、aRangeが空(@"")だと、{NSNotFound, つまり0}を返します。
Discussion
このメソッドは、maskで指定されたオプションを使い、レシーバのすべてを範囲として、rangeOfString:options:range:を呼び出します
Availability
Available in OS X v10.0 and later.
Related Sample Code
ImageKitDemo
Declared In
NSString.h
- rangeOfString:options:range:
あたえられたオプションを条件にして、レシーバのあたえられた範囲内にある、あたえられた文字列を探し、最初に出現した範囲を返します。
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
Parameters
aString
検索する文字列。この値はnilではいけません。
aStringがnilだと、NSInvalidArgumentExceptionが発生します。
mask
検索オプションを指定するマスク。次に挙げるオプションをCのORビット演算子でつなげて指定します:NSCaseInsensitiveSearch, NSLiteralSearch, NSBackwardsSearch, and NSAnchoredSearch。これらオプションについて詳しくは、String Programming Guideを参照してください。
aRange
aStringを探す、レシーバ内の範囲。
aRangeが無効なら、NSRangeExceptionが発生します。
Return Value
maskを条件にして、レシーバ内のaRangeにおいて、aSrtingが最初に出現する位置と長さからなるNSRange。返されるaRangeは文字列の始まりから相対的なもので、あたえられた範囲からではありません。aStringが見つからないか、aRangeが空(@"")だと、{NSNotFound, つまり0}を返します。
Discussion
等価である合成文字シークエンスがマッチしたとしても、返された範囲の長さとaStringのそれとは異なったものであるかもしれません。
Special Considerations
このメソッドはすべての無効な範囲を検出します(負の長さといったものを含みます)。OS X v10.6以降を対象としているアプリケーションでは、このエラーは例外となります。それ以前のバージョンでは、このエラーは警告となり、アプリケーションが実行される度に一度だけ表示されます。
Availability
Available in OS X v10.0 and later.
Related Sample Code
SimpleToolbar
Declared In
NSString.h
- rangeOfString:options:range:locale:
指定したロケールを使い(あれば)、あたえられたオプションを条件にして、レシーバのあたえられた範囲内にある、あたえられた文字列を探し、最初に出現した範囲を返します。
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)searchrange locale:(NSLocale *)locale
Parameters
aString
検索する文字列。この値はnilではいけません。
aStringがnilだと、NSInvalidArgumentExceptionが発生します。
mask
検索オプションを指定するマスク。次に挙げるオプションをCのORビット演算子でつなげて指定します:NSCaseInsensitiveSearch, NSLiteralSearch, NSBackwardsSearch, NSAnchoredSearch。これらオプションについて詳しくは、String Programming Guideを参照してください。
aRange
aStringを探す、レシーバ内の範囲。
aRangeが無効なら、NSRangeExceptionが発生します。
locale
レシーバとaStringを比較するのに使うロケール。この値がnilなら、システムロケールを使います。
このロケール引数は、等価性をチェックするアルゴリズムに影響を与えます。たとえば、Turkishロケール(トルコ語ロケール)について、ケース無視の比較では“I” to “ı” (Unicode code point U+0131, Latin Small Dotless I)はマッチしますが、ふつうの“i”とはマッチしません。
Return Value
maskを条件にして、レシーバ内のaRangeにおいて、aStingが最初に出現する位置と長さからなるNSRange。返されるaRangeは文字列の始まりから相対的なもので、あたえられた範囲からではありません。aStringが見つからないか、aRangeが空(@"")だと、(NSNotFound, 0}を返します。
Discussion
等価である合成文字シークエンスがマッチしたとしても、返された範囲の長さとaStringのそれとは異なったものであるかもしれません。
Special Considerations
このメソッドはすべての無効な範囲を検出します(負の長さといったものを含みます)。OS X v10.6以降を対象としているアプリケーションでは、このエラーは例外となります。それ以前のバージョンでは、このエラーは警告となり、アプリケーションが実行される度に一度だけ表示されます。
Availability
Available in OS X v10.5 and later.
Declared In
NSString.h
- smallestEncoding
情報の欠損なしにレシーバを変換できるエンコードのうち、最もサイズを小さくしてくれるものを返します。
- (NSStringEncoding)smallestEncoding
Return Value
情報の欠損なしにレシーバを変換できるエンコードのうち、最もサイズを小さくしてくれるもの。
Discussion
得られるエンコーディングは文字へアクセするのに最も早いものではありませんが、必要領域については効果的です。このメソッドは実行に時間がかかります。
Availability
Available in OS X v10.0 and later.
See Also
- fastestencoding
- getCharacters:range:
Declared In
NSString.h
- stringByAbbreviatingWithTildeInPath
現在のホームディレクトリを表す部分を、チルダ(~)文字に置き換えた新しい文字列を返します。
- (NSString *)stringByAbbreviatingWithTildeInPath
Return Value
現在の文字オブジェクトを基にした新しい文字列。新しい文字列が現在のホームディレクトリにあるファイルを指しているなら、パスにあるホームディレクトリ部分をチルダ(~)文字へ置き換えます。文字列が現在のホームディレクトリにあるファイルを指していないなら、このメソッドは現在の文字列にあるパス部分を変更しないまま新しい文字列オブジェクトを返します。
Discussion
このメソッドはファイルパスとしか動作しません。URLの文字列表現では動作しません。
OS Xでのサンドボックスを使うappにとって、現在のホームディレクトリはユーザのホームディレクトリとは同じものではありません。サンドボックスを使うappでは、ホームディレクトリとはappのホームディレクトリのことです。ですから、サンドボックスappで/Users/<current_user>/file.txtを指定したら、返されるパスはオリジナルから変わっていません。しかし、サンドボックスappではないappで先と同じパスを指定したら、このメソッドは/Users/<current_user>部分をチルダへ置き換えます。
Availability
Available in OS X v10.0 and later.
See Also
- stringByExpandingTildeInPath
Declared In
NSPathUtilities.h
- stringByAddingPercentEncodingWithAllowedCharacters:
レシーバにある文字列において、指定したセットにないすべての文字をパーセントエンコーディング文字へ置き換えて作った新しい文字列を返します。
- (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
Parameters
allowedCharacters
文字列において置き換えない文字。
Return Value
エンコードした文字列を返します。置き換えが不可能ならnilを返します。
Discussion
UTF-8エンコーディングを、正しいパーセントエンコーディング文字を決定するのに使います。すべてのURL文字列をパーセントエンコーディングすることはできません。
このメソッドはURLコンポーネントかサブコンポーネントをパーセントエンコーディングしようとします。すべてのURL文字列ではありません。7-bit ASCII範囲の外にあるallowedCharactersのすべての文字は無視されます。
Availability
Available in OS X v10.9 and later.
See Also
- stringByAddingPercentEscapesUsingEncoding:
- stringByReplacingPercentEscapesUsingEncoding:
- stringByRemovingPercentencoding
Declared In
NSURL.h
- stringByAddingPercentEscapesUsingEncoding:
レシーバを正規URL文字列へ変換します。これに必要なパーセントエスケープを決定するのに、エンコーディングを引数としてあたえます。このように変換したレシーバの表現を返します。
- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
Parameters
encoding
戻り値の文字列へ適用するエンコーディング。正しいエンコーディングがはっきり分からなければ、NSUTF8StringEncodingを使うべきでしょう。
Return Value
レシーバを正規URL文字列へ変換します。これに必要なパーセントエスケープを決定するのに、エンencodingを引数としてあたえます。このように変換したレシーバの表現が戻り値です。encodingが特定の文字をエンコードできないなら、nilを返します。
Discussion
エスケープしていないか部分的にエスケープしてあるURL文字列は文字シークエンスは予想できないので、そこから「ゴミを取り除く」のに、このメソッドを使うのは難しいでしょう。詳しい情報は、CFURLCreateStringByAddingPercentEscapesを参照してください。
Availability
Available in OS X v10.3 and later.
See Also
- stringByAddingPercentEncodingWithAllowedCharacters:
- stringByReplacingPercentEscapesUsingEncoding:
- stringByRemovingPercentencoding
Related Sample Code
CocoaSlides
Declared In
NSURL.h
+ stringByAppendingFormat:
あたえられたフォーマットとそれに続く引数から文字列を組み立てて、それをレシーバの末尾へ追加して作った文字列を返します。
- (NSString *)stringByAppendingFormat:(NSString *)format, ...
Parameters
format
フォーマット文字列。詳細な情報は“Formatting String Objects”を参照してください。この値はnilではいけません。
重要:formatがnilなら、NSInvalidArgumentExceptionが発生します。
...
フォーマットの中へ置き換える引数の、コンマ区切りのリスト。
Return Value
formatとそれに続く引数から文字列を組み立てて、それをレシーバの末尾へ追加して作った文字列。stringWithFormat:でするのと同様です。
Availability
Available in OS X v10.0 and later.
See Also
- stringByAppendingString:
Related Sample Code
ImageKitDemo
SimpleCocoaBrowser
VirtualScanner
Declared In
NSString.h
- stringByAppendingPathComponent:
あたえられた文字列をレシーバの末尾へ追加して作った新しい文字列を返します。
- (NSString *)stringByAppendingPathComponent:(NSString *)aString
Parameters
aString
レシーバに加えるパス要素。
Return Value
aStringをレシーバに加えて作った新しいパス文字列。パス分割子が必要なら、追加の前に挟み込まれます。
Discussion
次の表では、さまざまに異なるパスにおける、このメソッドの作用を現しています。ここでaStrngは"scratch.tiff"として与えられていると仮定します。
| レシーバの文字列 | 結果の文字列 |
| “/tmp” | “/tmp/scratch.tiff” |
| “/tmp/” | “/tmp/scratch.tiff” |
| “/” | “/scratch.tiff” |
| “” (an empty string) | “scratch.tiff” |
注意:このメソッドはファイルパスとのみ動作します(たとえば、URLを表す文字列では動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- stringsByAppendingPaths:
- stringByAppendingPathExtension:
- stringByDeletingLastPathComponent
Related Sample Code
CIAnnotation
CloudSearch
From A View to A Movie
From A View to A Picture
ZipBrowser
Declared In
NSPathUtilities.h
- stringByAppendingPathExtension:
拡張子の区切り文字とそれに続いて引数の拡張子をレシーバの末尾に加えて作った新しい文字列を返します。
- (NSString *)stringByAppendingPathExtension:(NSString *)ext
Parameters
ext
レシーバに追加する拡張子。
Return Value
拡張子の区切り文字とそれに続いてextをレシーバの末尾に加えて作った新しい文字列
Discussion
次の表では、さまざまに異なるパスにおける、このメソッドの効果を現しています。ここでextは@"tiff"として与えている仮定します。
| レシーバの文字列 | 結果の文字列 |
| “/tmp/scratch.old” | “/tmp/scratch.old.tiff” |
| “/tmp/scratch.” | “/tmp/scratch..tiff” |
| “/tmp/” | “/tmp.tiff” |
| “scratch” | “scratch.tiff” |
@"/tmp/"へ拡張子を加えると、@"/tmp/.tiff"ではなく、@"/tmp.tiff"となるのに注意してください。この違いは、@".tiff"と名付けられたファイルが既に拡張子を持つと考慮していないため、文字列は最後の空ではないパス要素へ加えられるからです。
注意':このメソッドはファイルパスとのみ動作します(たとえば、URLを表す文字列とでは動作しません)。
Special Considerations
OS X v10.9より前では、このメソッドはチルダ文字(~)から始まるファイル名へファイル拡張子を付け加えできませんでした。
Availability
Available in OS X v10.0 and later.
See Also
- stringByAppendingPathComponent:
- stringByDeletingPathExtension
Related Sample Code
AVScreenShack
LinkedImageFetcher
SandboxedFetch
Sandboxing with NSXPCConnection
SpotlightFortunes
Declared In
NSPathUtilities.h
- stringByAppendingString:
あたえられた文字列をレシーバの末尾へ付け加えて作った新しい文字列を返します
- (NSString *)stringByAppendingString:(NSString *)aString
Parameters
aString
レシーバへ付け加える文字列。この値はnilではいけません。
重要:aStringがnilだと、NSInvalidArgumentExceptionが発生します。
Return Value
aStringをレシーバに付け加えて作った新しい文字列。
Discussion
例をあげると、次の抜粋コードは、
NSString *errorTag = @"Error: "; NSString *errorString = @"premature end of file."; NSString *errorMessage = [errorTag stringByAppendingString:errorString];
“Error: premature end of file.”を生成します。
Availability
Available in OS X v10.0 and later.
See Also
- stringByAppendingFormat:
Related Sample Code
CocoaDVDPlayer
DNSSDObjects
NumberInput_IMKit_Sample
TextEdit
ZipBrowser
Declared In
NSString.h
- stringByDeletingLastPathComponent
レシーバから最後のパス要素を削除して作った新しい文字列を返します。ここでは、最後のパス区切り子も含まれます。
- (NSString *)stringByDeletingLastPathComponent
Return Value
レシーバから最後のパス要素を削除して作った新しい文字列。ここでは、最後のパス区切り子も含まれます。レシーバがルートパスを示していたら、何もせずにそのまま返します。
Discussion
次の表では、さまざまに異なるパスににおける、このメソッドの作用を現しています。
| レシーバの文字列 | 結果の文字列 |
| “/tmp/scratch.tiff” | “/tmp” |
| “/tmp/lock/” | “/tmp” |
| “/tmp/” | “/” |
| “/tmp” | “/” |
| “/” | “/” |
| “scratch.tiff” | “” (an empty string) |
注意':このメソッドはファイルパスとのみ動作します(たとえば、URLを表す文字列とでは動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- stringByDeletingPathExtension
- stringByAppendingPathComponent:
Related Sample Code
QTExtractAndConvertToAIFF
SimpleScriptingPlugin
ZipBrowser
Declared In
NSPathUtilities.h
- stringByDeletingPathExtension
レシーバから拡張子(存在すれば、かつ唯一最後の)を削除して作った文字列を返します。
- (NSString *)stringByDeletingPathExtension
Return Value
レシーバから拡張子(存在すれば、かつ唯一最後の)を削除して作った文字列。拡張子についてチェックする前に、最後にあるすべてのパス区切り子を削除します。レシーバがルートパスを示していたら、何もせずにそのまま返します。
Discussion
次の表では、さまざまに異なるパスにおける、このメソッドの作用を現しています。
| レシーバの文字列 | 結果の文字列 |
| “/tmp/scratch.tiff” | “/tmp/scratch” |
| “/tmp/” | “/tmp” |
| “scratch.bundle/” | “scratch” |
| “scratch..tiff” | “scratch.” |
| “.tiff” | “.tiff” |
| “/” | “/” |
@".tiff"から拡張子を取り除こうとすると、空の文字列ではなく、@".tiff"が結果がとなるのに注意してください。この違いは、@".tiff"を名前に持つファイルは拡張子を持つとは見なされず、結果として何も削除されません。
Availability
Available in OS X v10.0 and later.
See Also
- pathExtension
- stringByDeletingLastPathComponent
Related Sample Code
AppSandboxLoginItemXPCDemo
AutoSample
ImageKitDemo
LinkedImageFetcher
Quartz Composer Offline
Declared In
NSPathUtilities.h
- stringByExpandingTildeInPath
レシーバの最初の要素をフルパスへ展開して作った新しい文字列を返します。
- (NSString *)stringByExpandingTildeInPath
Return Value
レシーバが"~”か“~user”で始まれば、最初の要素を展開して作った新しい文字列。レシーバの最初の要素を展開できないなら、レシーバと同じ文字列を返します。
Discussion
注意':このメソッドはファイルパスとのみ動作します(たとえば、URLを表す文字列とでは動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- stringByAbbreviatingWithTildeInPath
Related Sample Code
BlastApp
QTCoreVideo301
Quartz Composer SQLiteQuery
Writing Subtitles to a Movie from the Command Line for OS X
Declared In
NSPathUtilities.h
- stringByFoldingWithOptions:locale:
あたえられた文字へ文字フォールディングオプションを施した文字列を返します。
- (NSString *)stringByFoldingWithOptions:(NSStringCompareOptions)options locale:(NSLocale *)locale
Parameters
options
末尾にInsensitiveSearchが付く比較フラッグのマスク。
locale
フォールディングに使うロケール。この値がnilなら、システムのロケールを使います。
Return Value
フォールディングオプションをほどこした文字からなる文字列。
Discussion
文字のフォールディング操作は、文字の違いを消し去ります。たとえば、ケースのフォールディングでは、大文字の表音記号は対応する小文字のへと置き換えるでしょう。
ロケールはフォールディングのロジックへ影響します。たとえば、Turkish locale(トルコ語のロケール)について、ケース無視の比較では“I”と“ı” (Unicode code point U+0131とLatin Small Dotless I)はマッチしますが、普通の“i”文字とはマッチしません。
Availability
Available in OS X v10.5 and later.
Declared In
NSString.h
- stringByPaddingToLength:withString:startingAtIndex:
レシーバに対して、末尾から文字を削除するか、必要ならあたえられたパディング文字列を必要数付け足して作った新しい文字列を返します。
- (NSString *)stringByPaddingToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex
Parameters
newLength
レシーバの長さに代わる、新しい長さ。
padString
レシーバを拡張するのに使う文字列。
padIndex
padStringでパディングを始めるインデックス。
Return Value
レシーバに対して、末尾から文字を削除するか、必要ならあたえられたpadStringを必要数付け足して作った新しい文字列。
Discussion
次に使用例を示します:
[@"abc" stringByPaddingToLength: 9 withString: @"." startingAtIndex:0]; // 結果は "abc......"
[@"abc" stringByPaddingToLength: 2 withString: @"." startingAtIndex:0]; // 結果は "ab"
[@"abc" stringByPaddingToLength: 9 withString: @". " startingAtIndex:1]; // 結果は "abc . . ." // パディングを行う文字が". "(ドット + 半角スペース)なのに注意してください
Availability
Available in OS X v10.2 and later.
Declared In
NSString.h
- stringByRemovingPercentencoding
レシーバについて、すべてのパーセントエンコーディングシークエンスを等価なUTF-8文字で置き換えて作った新しい文字列を返します。
- (NSString *)stringByRemovingPercent'Encoding
Return Value
パーセントエンコーディングシークエンスを取り除いた新しい文字列。
(訳者注:これは実際の挙動と違うと思います。上記の説明を参照してください。)
Availability
Available in OS X v10.9 and later.
See Also
- stringByAddingPercentEncodingWithAllowedCharacters:
- stringByAddingPercentEscapesUsingEncoding:
- stringByReplacingPercentEscapesUsingEncoding:
Declared In
NSURL.h
- stringByReplacingCharactersInRange:withString:
指定された範囲にあるレシーバの文字を、あたえられた文字列で置き換えた新しい文字列を返します。
- (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement
Parameters
range
レシーバにある文字の範囲。
replacement
rangeにある文字を置き換える文字列。
Return Value
rangeの範囲にあるレシーバの文字をreplacementで置き換えた新しい文字列。
Availability
Available in OS X v10.5 and later.
See Also
- stringByReplacingOccurrencesOfString:withString:
- stringByReplacingOccurrencesOfString:withString:options:range:
- stringByReplacingPercentEscapesUsingEncoding:
Declared In
NSString.h
- stringByReplacingOccurrencesOfString:withString:
レシーバの中にある目標とする文字列が出現するたびに、あたえられた文字列で置き換えて作った新しい文字列を返します。
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
Parameters
target
置き換える文字列。
replacement
targetを置き換える文字列。
Return Value
レシーバの中にあるtargetが出現するたびに、replacementで置き換えて作った新しい文字列。
Discussion
このメソッドは、stringByReplacingOccurrencesOfString:withString:options:range:メソッドを、オプション無し、範囲をすべての文字列として呼び出します。
Availability
Available in OS X v10.5 and later.
See Also
- stringByReplacingOccurrencesOfString:withString:options:range:
- stringByReplacingCharactersInRange:withString:
- stringByReplacingPercentEscapesUsingEncoding:
Declared In
NSString.h
- stringByReplacingOccurrencesOfString:withString:options:range:
レシーバの指定された範囲にある目標とする文字列が出現するたびに、あたえられた文字列で置き換えて作った新しい文字列を返します。
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange
Parameters
target
置き換える文字列。
replacement
targetを置き換える文字列。
options
targetをレシーバと比較するのに使うオプションのマスク。オプション無しのときは0を渡します。
searchRange
targetを探すレシーバの中の範囲。
Return Value
レシーバのsearchRangeにあり、optionsを使ってマッチした、targetが出現するたびに、replacementで置き換えて作った新しい文字列。
Availability
Available in OS X v10.5 and later.
See Also
- stringByReplacingOccurrencesOfString:withString:
- stringByReplacingCharactersInRange:withString:
- stringByReplacingPercentEscapesUsingEncoding:
Declared In
NSString.h
- stringByReplacingPercentEscapesUsingEncoding:
レシーバにあるすべてのパーセントエスケープを、あたえられたエンコーディングを用いてマッチした文字で置き換えて作った新しい文字列を返します。
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
Parameters
encoding
エンコーディング。
Return Value
レシーバにあるすべてのパーセントエスケープを、あたえられたencodingエンコーディングを用いてマッチした文字で置き換えて作った新しい文字列。変換が不可能なら、はnilを返します。それは、たとえばパーセントエスケープが、encodingにおいて不正なバイト列をあたえたときなどです。
Discussion
より複雑な変換については、CFURLCreateStringByReplacingPercentEscapesを参照してください。
Availability
Available in OS X v10.3 and later.
See Also
- stringByAddingPercentEncodingWithAllowedCharacters:
- stringByAddingPercentEscapesUsingEncoding:
- stringByRemovingPercentencoding
Declared In
NSURL.h
- stringByResolvingSymlinksInPath
レシーバにあるすべてのシンボリックリンクを解決し、またパスを標準化して作った新しい文字列を返します
- (NSString *)stringByResolvingSymlinksInPath
Return Value
レシーバの始めにあるチルダ表現を展開し、すべてのシンボリックリンク、そして可能なら現在のディレクトリまたは親ディレクトリへの参照を解決して、新しい文字列を作ります。この文字列は標準化したパス表現で、これを返します。オリジナルのパスが絶対パスなら、すべてのシンボリックリンクが解消されるのを保証します。相対パスなら、シンボリックリンクは解決不能なので、返す文字列に解消されないそのままが残されます。エラーが発生したらselfを返します。
Discussion
レシーバに含まれるパスが/privateで始まるなら、このstringByResolvingSymlinksInPathは/private指定子を取り除き、存在するファイル名を結果として提供します。
注意':このメソッドはファイルパスのみと動作します(たとえば、URLを表す文字列とでは動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- stringByStandardizingPath
- stringByExpandingTildeInPath
Related Sample Code
AudioBurn
Declared In
NSPathUtilities.h
- stringByStandardizingPath
無用なパス要素をレシーバから取り除いて作った新しい文字列を返します。
- (NSString *)stringByStandardizingPath
Return Value
無用なパス要素をレシーバから取り除いて作った新しい文字列。
Discussion
無効なパス名があたえられると、stringByStandardizingPathはstringByResolvingSymlinksInPathを呼び出して解決しようとしますが、結果は定義されていません。ほかの種類のエラーに出くわすと(パス要素が存在しないとか)、selfを返します。
このメソッドは、あたえられた文字列に対して次の変更を行います:
- stringByExpandingTildeInPathを使って、始まりにあるチルダ表記を展開。
- 空の要素とカレントディレクトリへの参照(つまり、"//"と"/./"の並び)を1つのパス区切り子へ変換。
- 絶対パスにおいてのみ、親ディレクトリへの参照(つまり、".."要素)を実際の親ディレクトリへと解消します。これはstringByResolvingSymlinksInPath、シンボリックリンクが解消するためにファイルシステムに問い合わせます、を使って可能かどうか検討します。
- 相対パスにおいては、シンボリックリンクは解消できないので、親ディレクトリへの参照はそのまま残されます。
- 得られる結果が存在するパスかディレクトリ(ファイルシステムに問い合わせます)を指しているなら、パスの始まりの要素から“/private”を削除します。
このメソッドから返るパスは、シンボリックリンク要素がそのまま残っているかもしれないのに注意してください。
このメソッドが返るパスには、いぜんシンボリックリンク要素が含まれているかもしれないのに注意してください。
注意':このメソッドはファイルパスのみと動作します(たとえば、URLを表す文字列とでは動作しません)。
Availability
Available in OS X v10.0 and later.
See Also
- stringByExpandingTildeInPath
- stringByResolvingSymlinksInPath
Related Sample Code
AVFoundation - Timecode Reader/Writer (avtimecodereadwrite)
Quartz Composer Offline
QuickLookSketch
Sketch
Sketch+Accessibility
Declared In
NSPathUtilities.h
- stringByTrimmingCharactersInSet:
あたえられた文字のセットにある文字を、レシーバの両端から取り除いて作った新しい文字列を返します。
- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set
Parameters
set
レシーバから取り除く文字を含んでいる文字のセット。setはnilではいけません。
Return Value
setにある文字を、レシーバの両端から取り除いて作った新しい文字列を。レシーバがsetにある文字ですべて構成されていると、空の文字列が返ります。
Discussion
文字列を取り囲む空白文字を取り除くには、whitespaceCharacterSetかwhitespaceAndNewlineCharacterSetを使います。
Availability
Available in OS X v10.2 and later.
See Also
- componentsSeparatedByCharactersInSet:
Related Sample Code
AppSandboxLoginItemXPCDemo
iSpend
iSpendPlugin
QuickLookDownloader
Declared In
NSString.h
- stringsByAppendingPaths:
レシーバへあたえられた配列にあるそれぞれの文字列を追加して、それぞれに作った文字列を納めた配列を返します。
- (NSArray *)stringsByAppendingPaths:(NSArray *)paths
Parameters
paths
レシーバへ加えていく、パスを指定するNSStringオブジェクトの配列。
Return Value
レシーバへpathsにあるそれぞれの文字列を追加し、必要ならパス区分子を挟み込んで、それぞれに作ったNSStringオブジェクトを納めた配列。
Discussion
注意:このメソッドはファイルパスのみで動作します(たとえば、URLを表す文字列とでは動作しません)。個々の例は、tringByAppendingPathComponent:を参照してください。
Availability
Available in OS X v10.0 and later.
Declared In
NSPathUtilities.h
- substringFromIndex:
あたえらえたインデックスにある文字から末尾の文字までを含む新しい文字列を返します。
- (NSString *)substringFromIndex:(NSUInteger)anIndex
Parameters
anIndex
インデックス。この値はレシーバの境界内、またはレシーバの長さと同じでなくてはなりません。
(anIndex - 1)がレシーバの末尾を超えていると、NSRangeExceptionが発生します。
Return Value
anIndexにある文字から末尾の文字までを含む新しい文字列。anIndexが文字列の長さと同じなら、空の文字列を返します。
Availability
Available in OS X v10.0 and later.
See Also
- substringWithRange:
- substringToIndex:
Related Sample Code
BlastApp
DispatchFractal
SpecialPictureProtocol
VirtualScanner
Declared In
NSString.h
- substringToIndex:
あたえられたインデックスまでの文字を含む新しい文字列を返します。ただし、インデックスの位置にある文字自身は含まれません。
- (NSString *)substringToIndex:(NSUInteger)anIndex
Parameters
anIndex
インデックス。この値はレシーバの境界内、またはレシーバの長さと同じでなくてはなりません。
(anIndex - 1)がレシーバの末尾を超えていると、NSRangeExceptionが発生します。
Return Value
anIndexまでの文字を含む新しい文字列。ただし、anIndexの位置ある文字自身は含まれません。anIndexが文字列の長さと同じなら、レシーバのコピーを返します。
Availability
Available in OS X v10.0 and later.
See Also
- substringFromIndex:
- substringWithRange:
Related Sample Code
CustomMenus
Normalized String Searching Using a Core Data Derived Property
Quartz Composer MiniSOAP
SimpleComboBox
TextEdit
Declared In
NSString.h
- substringWithRange:
あたえられた範囲にあるレシーバの文字を含む文字列を返します。
- (NSString *)substringWithRange:(NSRange)aRange
Parameters
aRange
範囲。範囲はレシーバの境界を越えてはいけません。
(aRange.location - 1)もしくは(aRange.location + aRange.length - 1)がレシーバの末端を超えていれば、NSRangeExceptionが発生します。
Return Value
aRangeの範囲にあるレシーバの文字を含む文字列オブジェクト。
Special Considerations
このメソッドはすべての無効な範囲を検出します(負の長さを含みます)。OS X v10.6以降を対象としているアプリケーションでは、このエラーは例外を発生させます。それより以前のバージョンでは、エラーは警告を発生し、それがアプリケーションの実行のたびに表示されます。
Availability
Available in OS X v10.0 and later.
See Also
- substringFromIndex:
- substringToIndex:
Related Sample Code
CocoaSpeechSynthesisExample
CryptoCompatibility
iSpend
QTCoreVideo301
Writing Subtitles to a Movie from the Command Line for OS X
Declared In
NSString.h
- uppercaseString
レシーバのアッパーケース表現を返します。
- (NSString *)uppercaseString
Return Value
レシーバにあるすべての文字を、対応するアッパーケースに変えた文字列。
Discussion
ケース変換は、対称性と、オリジナルと同じ長さの文字列を生成する、これらを保証していません。例としてlowercaseStringを参照してください。
注意:このメソッドは、標準的な(ローカライズされていない)マッピングを行います。これは、ユーザのロケールプレファレンスによらない安定した結果を必要としているプログラム的な操作に適しています。ユーザに提示する文字列を対象としたローカライズされたケースマッピングに関しては、uppercaseStringWithLocale:メソッドを使ってください。
Availability
Available in OS X v10.0 and later.
See Also
- lowercaseString
- lowercaseStringWithLocale:
- uppercaseStringWithLocale:
Related Sample Code
RemoteCurrency
Worm
Declared In
NSString.h
- uppercaseStringWithLocale:
すべての表音文字をアッパーケースへ変換した文字列を返します。ここでは、指定されたロケールを考慮します。
- (NSString *)uppercaseStringWithLocale:(NSLocale *)locale
Parameters
locale
ロケール。nilを渡せば、システムロケールとなります。ユーザへ見せる文字列については、currentLocaleを使ってください。
Return Value
localeを使って変換した、アッパーケースの文字列。@"ABcde"をあたえると、@"ABCDE"が結果になります。
Discussion
ユーザプレファレンスにロケール設定に従うには、NSLocaleのメソッドcurrentLocaleから得られる結果を渡してください。
Availability
Available in OS X v10.8 and later.
See Also
- uppercaseString
- lowercaseString
- lowercaseStringWithLocale:
Declared In
NSString.h
- UTF8String
レシーバのnull-終端UTF-8表現を返します
- (const char *)UTF8String
Return Value
レシーバのnull-終端UTF&-8表現。
Discussion
返されるC文字列は、文字列オブジェクトの中にある構成物へのポインタです。これは、おそらく文字列オブジェクトより短い生存期間を持ち、長くなることはきっとありません。
従って、このメソッドを呼んだメモリコンテキストの外で、このC文字列を保存する必要があるなら、それをコピーするべきでしょう。
Availability
Available in OS X v10.0 and later.
Related Sample Code
BlastApp
CocoaSpeechSynthesisExample
CryptoCompatibility
NameAndPassword
SandboxedFetch
Declared In
NSString.h
- writeToFile:atomically:encoding:error:
レシーバの内容を、あたえられたエンコーディングが施して、あたえられたパスにあるファイルへ書き込みます。
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error
Parameters
path
レシーバを書き込むファイル。pathがチルダを含んでいるなら、このメソッドを呼び出す前にそのチルダをstringByExpandingTildeInPathを使って展開しておかなければなりません。
useAuxiliaryFile
YESなら、レシーバをいったん補助ファイルに書き込み、その後で補助ファイルをpathへリネームします。NOなら、レシーバを直接pathへ書き込みます。YESオプションを選択すると、pathがもし既に存在しているならば、書き込む途中でシステムがクラッシュしたとしても失われることはありません。
enc
出力するのに使うエンコーディング。
error
エラーが発生したら、errorには問題を記述したNSErrorオブジェクトが含まれています。もしエラーの詳細に興味がなければ、NULLを渡しても構いません。
Return Value
ファイルへの書き込みに成功すればYES、でなければNO(ファイルへの書き込みかエンコーディングでで問題があった)。
Discussion
このメソッドはpathに存在しているファイルを上書きします。
このメソッドは、指定されたエンコードをcom.apple.TextEncodingという名前をともなった拡張属性としてファイルの中に保存します。この値は、エンコーディングに関するIANA名と、エンコーディングに関するCFStringEncoding値が、セミコロンで区切られて、含んでいます。CFStringEncoding値は、unsigned 32-bit decimal integerを含むASCII文字列で書かれており、NULL文字で終端されていません。それらの1つ、もしくは両方とも失われる可能性があります。たとえば、その値が次のように書かれていた場合です:
MACINTOSH;0 UTF-8;134217984 UTF-8; ;3071
次のメソッド群は、正しいエンコーディングでファイルを開けるために、上記の情報を使います。
- initWithContentsOfFile:usedEncoding:error:
- initWithContentsOfURL:usedEncoding:error:
- stringWithContentsOfFile:usedEncoding:error:
- stringWithContentsOfURL:usedEncoding:error:
注意:将来この属性は、現在この属性があるところの後ろへ、互換性を保ちつつ他の付属情報が加えられて拡張されるかもしれません。ですから、この属性、つづいて数字以外で区切られたCFStringEncoding値を読み取るときは、任意に長い値へ備えておくべきでしょう。
Availability
Available in OS X v10.4 and later.
Declared In
NSString.h
- writeToURL:atomically:encoding:error:
レシーバの内容に指定されたエンコードを施して、urlで指定されたURLへ書き込む。
- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error
Parameters
url
レシーバを書き込むURL。ファイルURLのみをサポートします。
useAuxiliaryFile
YESなら、レシーバをいったん補助ファイルに書き込み、その後で補助ファイルをurlへリネームします。NOなら、レシーバを直接urlへ書き込みます。YESオプションを選択すると、urlがもし既に存在しているならば、書き込む途中でシステムがクラッシュしたとしても失われることはありません。
このuseAuxiliaryFileパラメタは、urlがatomicallyにアクセスできないものの場合は無視されます。
enc
出力に使うエンコーディング。
error
エラーが発生したら、errorは問題を記述したNSErrorオブジェクトが含まれています。もしエラーの詳細に興味がなければ、NULLを渡しても構いません。
Return Value
ファイルへの書き込みに成功すればYES、でなければNO(ファイルへの書き込みかエンコーディングでで問題があった)。
Discussion
このメソッドは、指定されたエンコードをcom.apple.TextEncodingという名前をともなった拡張属性としてファイルの中に保存します。この値は、エンコーディングに関するIANA名と、エンコーディングに関するCFStringEncoding値を、セミコロンで区切って含んでいます。CFStringEncoding値は、unsigned 32-bit decimal integerを含むASCII文字列で書かれており、NULL文字で終端されていません。それらの1つ、もしくは両方とも失われる可能性があります。たとえば、その値が次のように書かれていた場合は:
MACINTOSH;0 UTF-8;134217984 UTF-8; ;3071
#b
次のメソッド群は、正しいエンコーディングでファイルを開けるために、上記の情報を使います。
- initWithContentsOfFile:usedEncoding:error:,
- initWithContentsOfURL:usedEncoding:error:,
- stringWithContentsOfFile:usedEncoding:error:,
- stringWithContentsOfURL:usedEncoding:error:
注意:将来この属性は、現在この属性があるところの後ろへ、互換性を保ちつつ他の付属情報が加えられて拡張されるかもしれません。したがって、この属性、つづいて数字以外で区切られたCFStringEncoding値を読み取るときは、任意に長い値へ備えておくべきでしょう。
Availability
Available in OS X v10.4 and later.
Declared In
NSString.h
Referred from
NSString Class Reference, Apple Developer Library
Copyright
Copyright © 2013 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2013-09-18