NSString
準拠NSSecureCoding,NSMutableCopying,NSCopying , NSObject
フレームワークOS X 10.0 以降の Foundation。関連項目
概観
NSString のクラスとその変更可能なサブクラス、NSMutableString は、文字列での作業、検索、比較、文字列を変更するためのメソッドを含む、API の拡張セットを提供します。NSString のオブジェクトは、プラットフォーム上のすべてのテキストおよび言語機能の基礎となる、Foundation およびその他の Cocoa フレームワーク全体で広く使用されています。
NSString は、Core Foundation の相手、CFStringRef と"通話無料で繋がって"います。詳細については、"通話無料で繋がる" を参照してください。
文字列オブジェクト
NSString オブジェクトは、UTF-16 コードユニットのシーケンスとして表された Unicode 準拠のテキスト文字列を、符号化します。全ての長さ、文字インデックス、および範囲は、インデックス値が 0 から始まって、16 ビットのプラットフォームのエンディアン値で表現されています。
NSString オブジェクトは、 C バッファから初期化された、 C バッファに NSData オブジェクト、または NSURL の内容を書き込むことができます。また、コード化する事もでき、NSStringEncoding によって表される ASCII、UTF-8、UTF-16、UTF-32、または他の全ての文字列のコード化から復号することもできます。
注意:不変の文字列は、作成時に定義され、後で変更することができないテキスト文字列です。不変文字列は UTF-16 コードユニットの配列として実装され(言い換えれば、テキスト文字列) ています。不変の文字列を作成し管理するには、NSString のクラスを使用して下さい。それを作成した後に変更することができる文字列を構築し、管理するには、NSMutableString を使用して下さい。
NSString と NSMutableString を使用して作成するオブジェクトは文字列オブジェクトと呼ばれます(または、混乱が生じなければ、単に文字列として呼ばれます)。用語の C 文字列は標準の char * 型を指します。クラスクラスタの性質のため、文字列オブジェクトは、NSString や NSMutableString クラスの実際のインスタンスではなく、それらの private サブクラスのインスタンスです。文字列オブジェクトのクラスは private ですが、これらの抽象スーパークラス、NSString や NSMutableString で宣言されているように、そのインターフェイスは、public です。文字列クラスは便利に、ある文字列を他の一種類の文字列に変換するように、NSCopying と NSMutableCopying プロトコルを採用しています。
文字を理解する
文字列オブジェクトは、UTF-16 コードユニットのシークエンスとして自分自身を表します。あなたは、どれだけ多くの UTF-16 コードユニットを文字列オブジェクトが length メソッドで含んでおり、characterAtIndex: で特定の UTF-16 コードユニットを取得できるかを決定できます。これら二つの"原始的" なメソッドは、文字列オブジェクトへの基本的なアクセスを提供します。
文字列は、単一の実体として扱われている文字列のほとんどの使用は、しかしながら、より高いレベルにあります:互いに対して文字列を比較し、サブストリングを検索し、新しい文字列にそれらを結合し、などなど。文字列オブジェクトは文字単位でアクセスする必要がある場合、具体的に構成された文字シークエンスに関連する問題、すなわち Unicode 文字コード化を理解しなければなりません。詳細は、Unicode Standard, Version 4.0 (The Unicode Consortium, Boston: Addison-Wesley, 2003, ISBN 0-321-18578-1) や、また、the Unicode Consortium web site: http://www.unicode.org/ を参照して下さい。文字列のプログラミングガイド の 文字と書記素クラスタ も参照してください。
CLDR(共通ロケール·データ·リポジトリ) により、さまざまな言語に合わせたようにローカライズされた文字列の比較は、Unicode 照合アルゴリズムに基づいています。どちらも、ユニコードコンソーシアムのプロジェクトです。
UTF-16 でコード化されたデータの解釈
UTF-16 でコード化された文字列から NSString オブジェクト(または UTF-16 として解釈されるバイトストリーム) を作成する際には、バイトの順序は特に指定されていない場合には、NSString は BOM(バイトオーダーマーク) が存在しない限り、UTF-16 の文字はビッグエンディアンで、その場合は、BOM が、バイトの順序を決定しています。unichare 値の配列から NSString オブジェクトを作成するとき、配列は常にネイティブのバイト順で UTF-16 コードユニットを含んでいるため、返される文字列は、常にネイティブ·エンディアンです。
サブクラス化の注意
NSString (と NSMutableString)をサブクラス化することは可能ですが、そうする事は(サブクラスによって継承されていない) 文字列の貯蔵施設を提供し、2つの基本メソッドを実装する必要があります。抽象 NSString クラスと NSMutableString クラスは、与えられた状況で文字列オブジェクトの適切なものを作成し返す、private で、具象クラスから主になるクラスクラスタの public インターフェイスです。このクラスタの独自の具象サブクラスを作ることは一定の要件を課しています。(オーバーライドされるメソッド で説明しました)
NSString をサブクラス化する理由が有効であることを確認してください。サブクラスのインスタンスは、文字列を表し、それ以外の何も表す必要はありません。このように、サブクラスが持つべき唯一の属性は、それが管理し、バッファ内の各文字へのアクセスの文字バッファの長さです。NSString のサブクラスを作成するための正当な理由は、(おそらくより良いパフォーマンスのために) 別の補助記憶装置を提供したり、メモリ管理などの、異なったオブジェクトの動作のいくつかの側面を実装することを含みます。あなたの目的が、NSString のサブクラスに必須でない属性やメタデータを追加する事にあるのなら、より良い代替手段は、オブジェクト組成物 (サブクラス化の代替 を参照) になるでしょう。Cocoa は既に NSAttributedString クラスでその一例を提供しています。
オーバーライドするべきメソッド
NSString の全てのサブクラスは、基本インスタンス・メソッドの length と characterAtIndex: をオーバーライドしなければなりません。これらのメソッドは、文字列の文字を提供する補助記憶装置を操作しなければなりません。この補助記憶装置により、静的配列、動的に割り当てられたバッファ、標準の NSString オブジェクト、またはいくつかの他のデータ型やメカニズムを使用できます。また、部分的または完全に上書きするのを選び、代替実装を提供したい場合は、他の NSString メソッドを選択できます。例えば、パフォーマンス向上のために、速い実装を与え getCharacters:range: をオーバーライドすることをお勧めします。
サブクラスが管理している補助記憶装置に適したサブクラスのイニシャライザを実装したい場合があります。NSString クラスは、指定イニシャライザを持っていないので、イニシャライザは super の init メソッドだけを呼び出す必要があります。NSString クラスは、NSCopying、NSMutableCopying、および NSCoding プロトコルを採用しています。独自のカスタムサブクラスのインスタンスが必要な場合、コピーまたはコードから作成し、これらのプロトコルのメソッドをオーバーライドして下さい。
サブクラス化の代替
多くの場合、NSString のサブクラスを作るのに、より良い簡単な代替ーあるいは、クラスクラスタの任意の他の抽象クラス、public クラスのサブクラスを作成する、より良い方法は。これについて言えば、オブジェクトの構成です。これは特に、あなたの意図がサブクラスにメタデータを追加、または文字列オブジェクトに必須ではない他の属性を追加する場合です。オブジェクトの構成では、カスタムクラス(典型的には NSObject のサブクラス) の一つのインスタンス変数として、NSString オブジェクトを持ち、カスタムオブジェクトとして欲しいメタデータを格納する、1 つ以上のインスタンス変数として。それから、すぐ埋め込み文字列オブジェクトとメタデータ用のアクセッサメソッドを含むようにサブクラス·インタフェースを設計して下さい。
動作に、既存のクラスのものを補助する物を追加しようとする場合、NSString 上でカテゴリを書くことができます。このカテゴリは、使用する NSString のすべてのインスタンスに対して有効であることを覚えておきましょう。しかし、これは意図しない結果が生じる可能性もあります。
タスク
文字列の作成と初期化
+ string
空の文字列を返します。
<< OBJECTIVE-C >>
+ (instancetype)string
戻り値
空の文字列。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– init 指名イニシャライザー
全く文字を含まない、初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
init() << OBJECTIVE-C >> – (instancetype)init
戻り値
全く文字を含まない、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithBytes:length:encoding:
与えられたコード化で解釈されたバイトの与えられたバッファから与えられたバイト数を含む初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init?(bytes bytes: UnsafePointer<Void>, length len: Int, encoding encoding: UInt) << OBJECTIVE-C >> (instancetype)initWithBytes:(const void *)bytes length:(NSUInteger) length encoding:(NSStringEncoding)encoding
パラメーター
bytes | encoding で指定されたコード化で解釈されたバイトのバッファ。 |
length | bytes から使うべきバイトの数。 |
encoding | bytes に適用される文字コード化。 |
戻り値
encoding のコード化を使用して解釈された bytes からの length の長さのバイトを含む初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
返されるバイトの文字列は終端されていないこともありえます。
バイト文字列の長さが、指定された長さよりも大きい場合、nil 値が返されます。
利用可能
OS X v10.3 以降で利用可能。
以下も見よ
– initWithBytesNoCopy:length:encoding:freeWhenDone:
– initWithBytesNoCopy:length:encoding:freeWhenDone:
与えられたコード化で解釈されたバイトの与えられたバッファから与えられたバイト数を含む、必要に応じてバッファを解放する、初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init?(bytesNoCopy bytes: UnsafeMutablePointer<Void>, length len: Int, encoding encoding: UInt, freeWhenDone freeBuffer: Bool) << OBJECTIVE-C >> – (instancetype)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding freeWhenDone:(BOOL)flag
パラメーター
bytes | encoding で指定されたコード化で解釈されたバイトのバッファ。 |
length | byte から使うべきバイトの数。 |
encoding | bytes の文字コード。 |
flag | YESなら、それがもはやデータを必要としないとき、受信者はメモリを free() で解放します。NO の場合はそうしません。 |
戻り値
encoding のコード化を使用して解釈された bytes からの長さ length のバイトを含む初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
特別な考慮事項
文字列の作成中にエラーが発生した場合は、flag が YES であっても、bytes は解放されません。この場合、呼び出し側が、バッファを解放する責任があります。これで、呼び出し元は割り当てを解除したバッファを持たずに、バッファを用いて文字列を作成しようとし続けることができます。
利用可能
OS X v10.3 以降で利用可能。
以下も見よ
– initWithBytes:length:encoding:
– initWithCharacters:length:
UTF-16 コードユニットの与えられた C 言語の配列から与えられた文字数が含まれる、初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(characters characters: UnsafePointer<unichar>, length length: Int) << OBJECTIVE-C >> – (instancetype)initWithCharacters:(const unichar *)characters length:(NSUInteger)length
パラメーター
characters | UTF-16コードユニットの C 言語の配列。値は NULL であってはなりません。 重要: length が 0 であっても、characters が NULL の場合例外が発生します。 |
length | characters から使用するべき文字数。 |
戻り値
characters から取られた length の長さの文字を含む、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ stringWithCharacters:length:
– initWithCharactersNoCopy:length:freeWhenDone:
UTF-16 コードユニットの与えられた C 言語の配列から与えられた文字数を含む初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(charactersNoCopy characters: UnsafeMutablePointer<unichar>, length length: Int, freeWhenDone freeBuffer: Bool) << OBJECTIVE-C >> – (instancetype)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length freeWhenDone:(BOOL)flag
パラメーター
characters | UTF-16 コードユニットの C 言語の配列。 |
length | characters から使用するべき文字数。 |
flag | もし YES なら、それがもはやデータを必要としないとき、受信者は free() でメモリを解放します。NO の場合はそうしません。 |
戻り値
characters から length の長さの文字を含む、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
特別な考慮事項
文字列の作成中にエラーが発生した場合は、flag が YES であっても、bytes は解放されません。この場合、呼び出し側が、バッファを解放する責任があります。これで、呼び出し元が割り当て解除されたバッファを持たずに、バッファを用いて文字列を作成しようとし続けることができます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ stringWithCharacters:length:
– initWithString:
与えられた別の文字列から文字をコピーすることによって初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(string aString: String) << OBJECTIVE-C >> – (instancetype)initWithString:(NSString *)aString
パラメータ
aString | そこから文字をコピーするべき文字列。この値は nil であってはなりません。 重要:aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
戻り値
aString から文字をコピーすることによって初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithCString:encoding:
与えられた C 言語の配列の文字を使用して初期化し、与えられたコード化に従って解釈された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init?(CString nullTerminatedCString: UnsafePointer<Int8>, encoding encoding: UInt) << OBJECTIVE-C >> – (instancetype)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding
パラメーター
nullTerminatedCString | 文字の C 言語の配列。配列は、NULL 文字で終っていなければなりません。中間の NULL 文字は許されません。 |
encoding | nullTerminatedCString のコード化。 |
戻り値
nullTerminatedCString から文字を使用して、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
議論
nullTerminatedCString が NULL で終了する C 文字列でない場合、または encoding が実際のコード化と一致しない場合、結果は未定義です。
特別な考慮事項
UTF-16 のような大きな幅を持っているエンコーディングのような、C 言語の文字列の早期終結をもたらす単一ユニット内の NULL バイトを含むことができるように、8 ビットのコード化だけが、サポートされています。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
– initWithCStringNoCopy:length:freeWhenDone:
– initWithUTF8String:
UTF-8 でコード化されたバイトの、与えられた C 言語の配列から文字をコピーすることによって初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init?(UTF8String nullTerminatedCString: UnsafePointer<<nt8>) << OBJECTIVE-C >> – (instancetype)initWithUTF8String:(const char *)bytes
パラメーター
bytes | UTF-8 でコード化されたバイトの、NULL で終わる C 言語の配列。この値は NULL であってはなりません。 重要:bytes が NULL の場合例外が発生します。 |
戻り値
bytes からバイトをコピーすることによって、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithFormat:
テンプレートとして与えられた書式文字列を使用して残りの引数の値が置換されている内に、それを使用して初期化された NSString オブジェクトを返します。
宣言
<< OBJECTIVE-C >>
– (instancetype)initWithFormat:(NSString *)format , ...
パラメータ
format | 書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト" を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。 重要:format が nil の場合 NSInvalidArgumentException の例外が発生します。 |
... | format に置換するべき、コンマ区切りの引数リスト。 |
戻り値
残りの引数の値が、システム·ロケールに従って置換されているテンプレートとしての format (形式) を使用して初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
議論
全くローカル化を適用せず、initWithFormat:locale:arguments: を呼び出します。例えば、ファイルに書き出し、後で戻って解析する必要がある"ローカライズしていない" 書式を作成したい場合などに便利です。ユーザーの現在のロケール用にローカライズされた文字列を作成するには、クラスメソッド localizedStringWithFormat: を使用するか initWithFormat:locale: か initWithFormat:locale:arguments: を使用し、ロケールとして [NSLocale currentLocale] を渡します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithFormat:locale:arguments:
– initWithFormat:arguments:
残りの引数値が、全くローカライズされずに置換されているテンプレートとして与えられた形式の文字列を使用して、初期化された NSString オブジェクトを返します。このメソッドは、引数リストが使用可能になる可変引数関数の中から呼び出されることを意味しています。
宣言
<< SWIFT >>
convenience init(format format: String, arguments argList: CVaListPointer) << OBJECTIVE-C >> – (instancetype)initWithFormat:(NSString *)format arguments:(va_list)argList
パラメーター
format | 書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト" を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。 重要: format が nil の場合 NSInvalidArgumentException の例外が発生します。 |
argList | format に置換するべき引数のリスト。 |
戻り値
argList 内の値が現在のロケールに応じて置換されているテンプレートとしての format を使用して、初期化した NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
議論
initWithFormat:locale:arguments:を、ローカル化無しで呼び出します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithFormat:locale:
残りの引数値が与えられたロケールに応じて置換されている内に、テンプレートとして与えられた書式文字列を使用して、初期化した NSString オブジェクトを返します。
宣言
<< OBJECTIVE-C >>
– (instancetype)initWithFormat:(NSString *)format locale:(id)locale
パラメーター
format | 書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト"を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。 重要:format が nil の場合 NSInvalidArgumentException の例外が発生します。 |
locale | 使用するロケールを指定する NSLocale オブジェクト。現在のロケールを使用するには、[NSLocale currentLocale] を渡します。システムロケールを使用するには、nil を渡します。 レガシーサポートのため、これはロケール情報を含む NSDictionary のインスタンスです。 |
... | format に置換するべきコンマ区切りの引数リスト。 |
議論
initWithFormat:locale:arguments: を、ロケールを locale にして呼び出します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithFormat:locale:arguments:
残りの引数値が与えられたロケール情報に応じて置換されている内に、テンプレートとして与えられた書式文字列を使用して、初期化した NSString オブジェクトを返します。このメソッドは、引数リストが使用可能になる可変引数関数の中から呼び出されることを意味しています。
宣言
<< SWIFT >>
convenience init(format format: String, locale locale: AnyObject?, arguments argList: CVaListPointer) << OBJECTIVE-C >> – (instancetype)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList
パラメーター
format | 書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト"を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。 重要:format が nil の場合 NSInvalidArgumentException の例外を発生させます。 |
locale | 使用するロケールを指定する NSLocale オブジェクト。現在のロケールを使用するには、[NSLocale currentLocale] を渡します。システムロケールを使用するには、nil を渡します。 レガシーサポートのため、これはロケール情報を含む NSDictionary のインスタンスです。 |
argList | format に置換するべき引数のリスト。 |
戻り値
locale でのロケール情報に従って置換されている argList の値にテンプレートとして format を使用して、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。
議論
以下の Objective-C コードは、値 "Cost:"と、値 32 を持つ int 型を持つ文字列オブジェクトから派生した myArgs から文字列を作成する方法を示しています。
va_list myArgs; NSString *myString = [[NSString alloc] initWithFormat:@"%@: %d\n" locale:[NSLocale currentLocale] arguments:myArgs];
結果の文字列は "Cost: 32\n"の値となります。
詳細については、文字列型のプログラミング·ガイド を参照してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– initWithFormat:arguments:– initWithData:encoding:
与えられたコード化を使用して UTF-16 コードユニットに与えられたデータを変換することによって、初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init?(data data: NSData, encoding encoding: UInt) << OBJECTIVE-C >> – (instancetype)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding
パラメーター
data | encoding とデフォルトのプレーンテキスト形式を、そのコード化のため(すなわち、属性のない、他のマークアップのない、純粋なコンテンツ) 内にバイトを含む NSData オブジェクト。 |
encoding | data が使用するコード化。 |
戻り値
encoding を使用して UTF-16 コードユニットに data のバイトを変換することで初期化した NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。初期化が何らかの理由(例えば、data が encoding のための有効なデータを表していない場合) のために失敗した場合、 nil を返します。
利用可能
OS X v10.0 以降で利用可能。
+ stringWithFormat:
残りの引数値が置換されている中に、テンプレートとして与えられた書式文字列を使用して作成した文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithFormat:(NSString *)format , ...
パラメータ
format | 書式文字列。このメソッドを使用する方法の例については、書式文字列オブジェクト、および書式指定子の一覧については、文字列書式指定子 を参照してください。この値は nil であってはなりません。 重要:format が nil の場合、NSInvalidArgumentException の例外が発生します。 |
... | format に置換すべきコンマ区切りの引数リスト。 |
戻り値
残りの引数値が、全くロケール無しに置換されているテンプレートとしての書式を使用して作成された文字列。
議論
このメソッドは、ローカル化無しの localizedStringWithFormat: に似ています。例えば、ファイルに書き出され、後で解析する必要があるローカライズ化しない書式を作成したい場合などに便利です。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ localizedStringWithFormat:
残りの引数値が現在のロケールに応じて置換されている中に、テンプレートとして与えられた書式文字列を使用して作成した文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)localizedStringWithFormat:(NSString *)format
, ...
パラメータ
format | 書式文字列。このメソッドを使用する方法の例については、書式文字列オブジェクト、また書式指定子の一覧については、文字列書式指定子 を参照してください。この値は nil であってはなりません。 format が nil の場合 NSInvalidArgumentException の例外が発生します。 |
... | format に置換するべきコンマ区切りの引数リスト。 |
戻り値
次に続く引数値が現在のロケールの書式情報に従って置換されるテンプレートとしての format を使用して作成された文字列。
議論
このメソッドは、initWithFormat:locale:と同等であり、ロケール引数として現在のロケールを渡します。
書式の一例として、このメソッドは、%f と %d の代わりに、ロケールに従って小数を置き換え、必要であれば、description(記述)の代わりにdescriptionWithLocale: を呼び出します。
以下のコード抜粋は、別の文字列と float から文字列を作成します。
NSString *myString = [NSString localizedStringWithFormat:@"%@: %f\n", @"Cost", 1234.56];
結果の文字列は、ロケールが en_US の場合、値は "Cost: 1234.560000\n" となり、ロケールが fr_FR であれば "Cost:1234,560000\n" となります。
詳しくは、書式文字列オブジェクト を参照してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ stringWithCharacters:length:
与えられた UTF-16 コードユニットの C 言語の配列から取られた、与えられた数の文字数を含む文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithCharacters:(const unichar *)chars
length:(NSUInteger)length
パラメータ
chars | UTF-16 コードユニットの C 言語の配列。値が NULL であってはなりません。 重要:長さが 0 であっても、chars が NULL の場合には例外が発生します。 |
length | chars から使用するべき文字数。 |
戻り値
chars から取られた(最初から始まる) length (長さ)の UTF-16 コードユニット。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ stringWithString:
別の与えられた文字列から文字をコピーして作成した文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithString:(NSString *)aString
パラメータ
aString | そこから文字をコピーするべき文字列。この値は nil であってはなりません。 重要:aString が nil の場合、NSInvalidArgumentException の例外が発生します。 |
戻り値
aString から文字をコピーすることによって作成された文字列。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ stringWithCString:encoding:
与えられたコード化に従って解釈された、与えられた C 言語の配列内のバイトを含む文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc
パラメータ
cString | バイトの C 言語の配列。配列は NULL バイトで終了する必要があります。中間の NULL バイトは許されません。 |
enc | cString のコード化。 |
戻り値
CString の中に記載された文字を含む文字列。
議論
CString が NULL で終了する C 文字列でない場合、または encoding が実際のコード化と一致しない場合、結果は未定義です。
特別な考慮事項
UTF-16 のような大きな幅を持っているコード化は、C 文字列の早期終結をもたらす単一ユニット内の NULL バイトを含むことができるように、8 ビットのコード化だけが、サポートされています。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithUTF8String:
UTF-8 でコード化されたバイトの、与えられた C 言語の配列からデータをコピーすることによって作成された文字列を返します。
宣言
+ (instancetype)stringWithUTF8String:(const char *)bytes
パラメータ
bytes | UTF8 でコード化されたバイトの、NULL で終わる C 言語の配列。 重要:bytes が NULL の場合、例外が発生します。 |
戻り値
bytes からデータをコピーすることによって作成された文字列。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
ファイルから文字列を作成し初期化
+ stringWithContentsOfFile:encoding:error:
与えられたコード化を使用して解釈された、与えられたパスにあるファイルからデータを読み取ることによって作成された文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメータ
path | ファイルへのパス。 |
enc | path にある、ファイルのコード化。 |
error | エラーが発生した場合は、返る時に問題を説明する NSError オブジェクトを含む物を返します。あなたがエラーの可能性に興味がない場合は、NULL を渡して下さい。 |
戻り値
enc の、コード化を使用して path で名付けたファイルからデータを読み取って作成された文字列。ファイルを開くことができなかったり、コード化エラーがある場合は、nil を返します。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
– initWithContentsOfFile:encoding:error:
– initWithContentsOfFile:encoding:error:
与えられたコード化を使用して与えられたパスにあるファイルからデータを読み取ることによって初期化した NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(contentsOfFile path: String, encoding enc: UInt) throws << OBJECTIVE-C >> – (instancetype)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメータ
path | ファイルへのパス。 |
enc | path におけるファイルのコード化。 |
error | もしエラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。可能性のあるエラーに興味がない場合は、NULL を渡して下さい。 |
戻り値
コード化した enc を使用して path で名付けたファイルからデータを読み出すことで初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。ファイルを開けなかったり、コード化エラーがある場合は、nil を返します。
議論
SWIFT でのエラーの処理: Swift では、このメソッドはオプションでない結果を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift 2.2) の エラー処理 で説明しました。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfFile:encoding:error:
– initWithContentsOfFile:usedEncoding:error:
+ stringWithContentsOfFile:usedEncoding:error:
与えられたパスにあるファイルから、データを読んで作成した文字列を返し、ファイルを解釈するために使用したコードを参照によって返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError * _Nullable *)error
パラメータ
path | ファイルへのパス。 |
enc | 戻った時、ファイルが正常に読み込まれている場合、path にあるファイルを解釈するために使用するコードを含んでいます。 |
error | エラーが発生した場合、返る時に問題を説明する NSError オブジェクトを含む物を返します。あなたがエラーの可能性に興味がない場合は、NULL を渡して下さい。 |
戻り値
path で名付けられたファイルからデータを読み取って作成された文字列。ファイルを開くことができなかったり、コード化エラーがある場合は、nil を返します。
議論
このメソッドは、path にあるファイルのコード化を決定しようとします。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
– initWithContentsOfFile:encoding:error:
– initWithContentsOfFile:usedEncoding:error:
与えられたパスにあるファイルから文字を読みだして、初期化された NSString オブジェクトを返し、文字を解釈するために使用されたコードを参照によって返します。
宣言
<< SWIFT >>
convenience init(contentsOfFile path: String, usedEncoding enc: UnsafeMutablePointer<UInt>) throws << OBJECTIVE-C >> – (instancetype)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError * _Nullable *)error
パラメーター
path | ファイルへのパス。 |
enc | 戻る時に、ファイルが正常に読み込まれた場合、path でファイルを解釈するために使用されるコードを含んでいます。 |
error | エラーが発生した場合、戻る際に、問題を説明する NSError オブジェクトを含んでいます。あなたがエラーの可能性に興味がない場合は、NULL を渡します。 |
戻り値
path で名付けられたファイルからデータを読み込むことによって初期化した NSString オブジェクト。返されたオブジェクトは、元の受信者と異なる場合があります。ファイルを開けないか、エンコードエラーがある場合は、nil を返します。
議論
SWIFT でのエラーの処理: Swift では、このメソッドはオプションでない結果を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift 2.2) の エラー処理 で説明しました。
利用可能
OSX 10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfFile:encoding:error:– initWithContentsOfFile:encoding:error:
URL から文字列を作成し初期化
+ stringWithContentsOfURL:encoding :error:
与えられたコード化を使用して解釈された与えられた URL からデータを読み取ることによって作成された文字列を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメーター
url | 読むべき URL。 |
enc | url にあるデータのコード化。 |
error | エラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。あなたがエラーの可能性に興味がない場合は、NULL を渡して下さい。 |
戻り値
enc のコード化を使った URL からデータを読み取ることによって作成された文字列。URL が開く事ができなかったりコード化エラーがある場合は、nil を返します。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfURL:usedEncoding:error:
– initWithContentsOfURL:encoding:error:
– initWithContentsOfURL:encoding:error:
与えられたコード化を使用して解釈された、与えられた URL からデータを読み出すことによって初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(contentsOfURL url: NSURL, encoding enc: UInt) throws << OBJECTIVE-C >> – (instancetype)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメーター
url | 読み取るべき URL。 |
enc | path にあるファイルのコード化。 |
error | エラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。起きる可能性のあるエラーに興味がない場合は、NULL を渡して下さい。 |
戻り値
url からデータを読み取ることによって初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。URL を開く事ができなかったりコード化エラーがある場合は、nil を返します。
SWIFT でのエラー処理: Swift では、このメソッドはオプションでない結果を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift 2.2) の エラー処理 で説明しました。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfURL:encoding:error:+ stringWithContentsOfURL:usedEncoding:error:
与えられた URL からデータを読み出すことにより作成された文字列を返し、データを解釈するために使用されるコード化への参照を返します。
宣言
<< OBJECTIVE-C >>
+ (instancetype)stringWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError * _Nullable *)error
パラメーター
url | そこから データを読むべき URL。 |
enc | 戻る時に、url が正常に読み取られた場合には、データを解釈するために使用されるコード化を含んでいます。 |
error | エラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。あなたがエラーの可能性に興味がない場合は、NULL を渡して下さい。 |
戻り値
url からデータを読み取ることによって作成した文字列。URL が開く事ができなかったりコード化エラーがあった場合は、nil を返します。
議論
このメソッドは、url でのコード化を決定しようとします。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfURL:encoding:error:
– initWithContentsOfURL:usedEncoding:error:
– initWithContentsOfURL:usedEncoding:error:
データを解釈するために使用するコード化を参照することにより、与えられた URL からデータを読み取ることで初期化された NSString オブジェクトを返します。
宣言
<< SWIFT >>
convenience init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer<UInt>) throws << OBJECTIVE-C >> – (instancetype)initWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError * _Nullable *)error
パラメーター
url | そこからデータを読み取るべき URL。 |
enc | 戻る時には、url が正常に読み取られた場合、データを解釈するために使用されるコード化を含んでいます。 |
error | エラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。起きる可能性のあるエラーに興味がない場合は、NULL を渡して下さい。 |
戻り値
url からデータを読み取ることによって初期化された NSString オブジェクト。url を開くことができないか、コード化が決定できない場合は、nil を返します。返される期化されたオブジェクトは、元の受信者と異なる場合があります。
議論
未知のコード化でデータを読み込むには、以下のように enc パラメータとして 0 を渡します。
1. NSURL *textFileURL = …; 2. NSStringEncoding encoding = 0; 3. NSError *error = nil; 4. NSString *string = [[NSString alloc] initWithContentsOfURL:textFileURL usedEncoding:&encoding error:&error];
SWIFT でのエラー処理: Swift では、このメソッドはオプションでない結果を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift 2.2) の エラー処理 で説明しました。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
+ stringWithContentsOfURL:usedEncoding:error:
ファイルまたは URL への書き込み
– writeToFile:atomically:encoding:error:
与えられたコード化を使用して与えられたパスにあるファイルに受信者の内容を書き込みます。
宣言
<< SWIFT >>
func writeToFile(_ path: String, atomically useAuxiliaryFile: Bool, encoding enc: UInt) throws << OBJECTIVE-C >> – (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメーター
path | 受信者を書き込むべきファイル。path がチルダ(~) 文字を含んでいる場合は、このメソッドを呼び出す前に stringByExpandingTildeInPath でそれを展開しなければなりません。 |
useAuxiliaryFile | YES なら、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、path に変更されます。NO なら、受信者は、path に直接書き込まれます。YES オプションは、それが完全に存在している場合、システムが書き込み中にクラッシュした場合でも、破壊されることはありませんし、そのパスを保証します。 |
enc | 出力に使用するコード化。 |
error | エラーが発生した場合、戻った時に問題を説明する NSError オブジェクトを含んでいます。エラーの詳細に興味がない場合は、NULL を渡して下さい。 |
戻り値
ファイルへの書き込みが成功した場合、YES、そうでなければ NO (ファイルへの書き込みまたはエコード化で問題があった場合)。
議論
このメソッドは、path にある既存のどんなファイルでも上書きします。
このメソッドは、com.apple.TextEncoding の名前の下、拡張属性内のファイルで指定されたコード化を格納します。値は、セミコロンで区切られた、コード化のための CFStringEncoding 値と、コード化のための IANA の名を含んでいます。>CFStringEncoding 値は符号なしの 32 ビットの 10 進整数を含む ASCII 文字列として書き込まれ、null 文字で終端されていません。これらの値の一方または両方が失われることがあります。書き込まれた値の例としては、以下のものが挙げられます:
MACINTOSH;0 UTF-8;134217984 UTF-8; ;3071
メソッド initWithContentsOfFile:usedEncoding:error:, initWithContentsOfURL:usedEncoding:error:, stringWithContentsOfFile:usedEncoding:error:,そして stringWithContentsOfURL:usedEncoding:error: は、正しいコード化を使ってファイルを開くのに、この情報を使います。
注意:将来的には、この属性は現在の状態の後に情報を付け加えて拡張された互換性を持つでしょう、そのため全ての読者はこの属性の数字以外の物で区切られた、CFStringEncoding の値に続く、任意の長さの値のため用意するべきです。
SWIFT でのエラー処理: Swift では、このメソッドは Void を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift2.2) の エラー処理 で説明しました。
利用可能
OS X v10.4 以降で利用可能。
– writeToURL:atomically:encoding:error:
指定されたコード化を使用して、url で指定された URL に受信者の内容を書き込みます。
宣言
<< SWIFT >>
func writeToURL(_ url: NSURL, atomically useAuxiliaryFile: Bool, encoding enc: UInt) throws << OBJECTIVE-C >> – (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError * _Nullable *)error
パラメーター
url | そこに受信者を書き込むべき URL。ファイルの URL のみがサポートされています。 |
useAuxiliaryFile | YES なら、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、url に変更されます。NO なら、受信者は、url に直接書き込まれます。YES オプションは、それがすべてで存在する場合は、システムが書き込み中にクラッシュした場合でも、url は、破壊されないことが保証されます。 url がアトミックにアクセスできる型ではない場合 useAuxiliaryFile パラメータは無視されます。 |
enc | 出力に使用するコード化。 |
error | エラーが発生した場合、戻る時に問題を説明する NSError オブジェクトを含んでいます。エラーの詳細に興味がない場合は、NULL を渡して下さい。 |
戻り値
URL への書き込みが成功した場合、YES、そうでなければ NO (URL への書き込みまたはエコード化で問題があった場合)。
議論
このメソッドは、com.apple.TextEncoding の名前の下、拡張属性のファイルで指定されたコード化を格納します。値は、セミコロンで区切られた、コード化のための CFStringEncoding 値と、コード化のための IANA の名を含んでいます。>CFStringEncoding 値は符号なしの 32 ビットの 10 進整数を含む ASCII 文字列として書き込まれ、null 文字で終端されていません。これらの値の一方または両方が失われることがあります。書き込まれた値の例としては、以下のものが挙げられます:
MACINTOSH;0 UTF-8;134217984 UTF-8; ;3071
メソッド initWithContentsOfFile:usedEncoding:error:, initWithContentsOfURL:usedEncoding:error:, stringWithContentsOfFile:usedEncoding:error:,そして stringWithContentsOfURL:usedEncoding:error: は、正しいコード化を使ってファイルを開くのに、この情報を使います。
注意:将来的には、この属性は現在の状態の後に情報を付け加えて拡張された互換性を持つでしょう、そのため全ての読者はこの属性の数字以外の物で区切られた、CFStringEncoding の値に続く、任意の長さの値のため用意するべきです。
SWIFT でのエラー処理: Swift では、このメソッドは Void を返し、それが失敗した場合にエラーをスローすることを示すために throws キーワードでマークされています。
try 式でこのメソッドを呼び出し、エラー処理を do 文の catch 節で処理してください。この事は Swift プログラミング言語(Swift 2.2) での エラー処理 と、ココアと Objective-C での Swift の使い方(Swift2.2) の エラー処理 で説明しました。
利用可能
OS X v10.4 以降で利用可能。
文字列の長さを得る
length プロパティ
受信者内の UTF-16 コードユニットの数。(読み取り専用)
宣言
<< SWIFT >>
var length: Int { get } << OBJECTIVE-C >> @property(readonly) NSUInteger length
議論
この数は、構成された文字列シーケンスの各文字を含んでいるので、文字列が印刷される時見えるかや、どれくらいの長さに表示されるかを判断するために、このプロパティを使用することはできません。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
sizeWithAttributes: (NSString Additions)
– lengthOfBytesUsingEncoding:
与えられたコード化で受信者を保存するのに必要なバイト数を返します。
宣言
<< SWIFT >>
func lengthOfBytesUsingEncoding(_ enc: UInt) -> Int << OBJECTIVE-C >> – (NSUInteger)lengthOfBytesUsingEncoding:(NSStringEncoding)enc
パラメーター
enc | 受信者の長さを決定するためのコード化。 |
戻り値
外部表現でないコード化 enc の受信者を保存するのに必要なバイト数。長さは、最後の NULL 文字のためのスペースを含みません。指定されたコード化が、受信者に変換するために使用できない場合や、コード化変換の結果を保存するために必要なメモリの量が NSIntegerMax を 超える場合は 0 を返します。
議論
結果は正確であり、O(n) 回目に返されます。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
– maximumLengthOfBytesUsingEncoding:
– maximumLengthOfBytesUsingEncoding:
与えられたコード化で受信者を保存するために必要な最大バイト数を返します。
宣言
<< SWIFT >>
func maximumLengthOfBytesUsingEncoding(_ enc: UInt) -> Int << OBJECTIVE-C >> – (NSUInteger)maximumLengthOfBytesUsingEncoding:(NSStringEncoding)enc
パラメータ
enc | 受信者の長さを決定するためのコード化。 |
戻り値
外部表現でなく encoding された受信者を保存するために必要な最大バイト数。長さは、最後の NULL 文字のためのスペースを含みません。コード化変換の結果を保存するために必要なメモリの量が NSIntegerMax を超える場合は 0 を返します。
議論
その結果は推定値であり、O(1) 回目に返され、推定値は、実際の長さが必要とされるよりもかなり大きくてもよい。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
文字とバイトを得る
– characterAtIndex:
与えられた配列の位置の文字を返します。
宣言
<< SWIFT >>
func characterAtIndex(_ index: Int) -> unichar << OBJECTIVE-C >>../DataType0708.html – (unichar)characterAtIndex:(NSUInteger)index
パラメーター
index | 取得するべき文字のインデックス。インデックスの値は、受信者の境界の外側に存在してはなりません。 |
戻り値
配列の index で与えられた位置の文字。
議論
index が、受信者の端を超えて存在する場合には NSRangeException の例外が発生します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– getCharacters:range:
与えられたバッファに、受信者の与えられた範囲の文字をコピーします。
宣言
<< SWIFT >>
func getCharacters(_ buffer: UnsafeMutablePointer<unichar>, range range: NSRange) << OBJECTIVE-C >> – (void)getCharacters:(unichar *)buffer range:(NSRange)aRange
パラメーター
buffer | 戻る時に、受信者からの文字を含んでいます。buffer は、範囲 aRange(aRange.length*sizeof(unichar)) の文字を含むのに十分な大きさでなければなりません。 |
aRange | 取得すべき文字の範囲。範囲は、受信者の限界を超えてはなりません。 重要: aRange のいずれかの部分が、受信者の境界を越えて存在する場合、 NSRangeException の例外が発生します。 |
議論
このメソッドは、NULL 文字を追加しません。
このメソッドの抽象実装は characterAtIndex: を繰り返し使用しており、非常に非効率的にかかわらず、正確に、文字を抽出します。サブクラスは、高速な実装を提供するために、それをオーバーライドする必要があります。
利用可能
OS X v10.0 以降で利用可能。
– getBytes:maxLength:usedLength:encoding:options:range :remainingRange:
指定されたコード化のバイトとしての文字の与えられた範囲を取得します。
宣言
<< SWIFT >>
func getBytes(_ buffer: UnsafeMutablePointer<Void>, maxLength maxBufferCount: Int, usedLength usedBufferCount: UnsafeMutablePointer<Int>, encoding encoding: UInt, options options: NSStringEncodingConversionOptions, range range: NSRange, remainingRange leftover: NSRangePointer) -> Bool << OBJECTIVE-C >> – (BOOL)getBytes:(void *)buffer maxLength:(NSUInteger)maxBufferCount usedLength:(NSUInteger *)usedBufferCount encoding:(NSStringEncoding)encoding options:(NSStringEncodingConversionOptions)options range:(NSRange)range remainingRange:(NSRangePointer)leftover
パラメーター
buffer | 受信者からのバイトを格納するべきバッファ。返されたバイトは NULL で終っていません。 |
maxBufferCount | buffer に書き込むための最大バイト数。 |
usedBufferCount | buffer から使用されるバイト数。この値を必要としない場合は NULL を渡します。 |
encoding | 返されたバイトのために使用するコード化。 |
option | (変換が必要な場合)encoding (コード化) に、受信者の内容を変換するために使用するオプションを指定するためのマスク。 |
range | 取得するべき受信者内の文字の範囲。 |
leftover | 残りの範囲。この値を必要としない場合は NULL を渡します。 |
戻り値
いくつかの文字が変換された場合には YES、それ以外の時 NO。
議論
バッファがいっぱいになると変換が停止することがありますが、選択したコード化が原因で、変換できない場合も停止する場合があります。
利用可能
OS X v10.5 以降で利用可能。
C の文字列を得る
– cStringUsingEncoding:
与えられたコード化を使用して C の文字列としての受信者の表現を返します。
宣言
<< SWIFT >>
func cStringUsingEncoding(_ encoding: UInt) -> UnsafePointer<Int8> << OBJECTIVE-C >> – (const char *)cStringUsingEncoding:(NSStringEncoding)encoding
パラメーター
encoding | 返された C 言語文字列のコード化。 |
戻り値
encoding で指定されたコード化を使用した、受信者の C の文字列の表現。受信者は損失なしに encoding に変換できない場合は NULL を返します。
議論
返される C の文字列は、受信者が解放されているか、現在のメモリが空になるまで、どちらかが最初に発生するまでの間だけ有効なことを保証されます。この時間を超えて C の文字列を格納する必要がある場合、C の文字列をコピーするか、getCString:maxLength:encoding: を使用する必要があります。
文字列が損失なく encoding に変換できているかどうかを確認するために、canBeConvertedToEncoding: を使用できます。もし使用できなければ、dataUsingEncoding:allowLossyConversion: を使用して、encoding を使用した C の文字列表現を、多少の情報損失を許すなら得られます。(dataUsingEncoding:allowLossyConversion: によって返されたデータは、NULL の終末がないので、厳密な C 言語文字列ではないことに注意して下さい。)
特別な考慮事項
UTF16 と UTF32 は C 文字列のコード化ではないと考えられており、このメソッドでは使うべきではありません。NSUTF16StringEncoding、NSUTF32StringEncoding、またはそれらのバリアントのいずれかを渡した結果は未定義です。
利用可能
OS X v10.4 以降で利用可能。
以下も見よ
– UTF8String– getCString:maxLength:encoding:
受信者の内容を与えられたコード化に変換してバッファに格納します。
宣言
<< SWIFT >>
func getCString(_ buffer: UnsafeMutablePointer<Int8>, maxLength maxBufferCount: Int, encoding encoding: UInt) -> Bool << OBJECTIVE-C >> – (BOOL)getCString:(char *)buffer maxLength:(NSUInteger)maxBufferCount encoding:(NSStringEncoding)encoding
パラメーター
buffer | 戻る時には、変換された C 文字列と NULL の終了バイトを含んでいます。バッファは maxBufferCount バイトの余地を含めなければなりません。 |
maxBufferCount | バッファに戻すべき文字列の最大バイト数(NULL の終了バイトを 含む)。 |
encoding | 返された C の文字列のコード化。 |
戻り値
操作が成功した場合は YES、それ以外の場合は NO。コード化エラーのため変換できなかった場合、または buffer が小さすぎる場合には NO を返します。
議論
maxBufferCount 引数の取り扱いで、このメソッドは置き換わった旧式の stringWithCString:length: とは異なることに注意してください。(バッファは maxBufferCount バイトの余地を含めるべきです。この数は、戻り値プラスこのメソッドが追加した NULL の終了バイトの、予想されるサイズに対応する必要があります。)
文字列が損失なく encoding にコード化できるかどうかを確認するために canBeConvertedToEncoding: を使用できます。もし出来なければ dataUsingEncoding:allowLossyConversion: を使用して、多少の損失を許可して encoding を使って C 文字列の表現を獲得します。(dataUsingEncoding:allowLossyConversion: によって返されたデータは NULL で終了していないので、厳密な C 文字列ではない事に注意して下さい。)
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
UTF8String プロパティ
null で終わる文字列の UTF8 表現。(読み取り専用)
宣言
<< SWIFT >>
var UTF8String: UnsafePointer<Int8> { get } << OBJECTIVE-C >> @property(readonly) const char *UTF8String
議論
この C の文字列は文字列オブジェクトより寿命が短く、長寿でもない、文字列オブジェクトの中の構造体へのポインタです。そのため、あなたがこのプロパティを使用しているメモリコンテキストの外部に格納する必要がある場合には、C の文字列をコピーする必要があります。
利用可能
OS X v10.0 以降で利用可能。
文字列の特定と比較
– caseInsensitiveCompare:
大文字と小文字を区別しないオプションで、compare:options: を呼び出した結果を返します。
宣言
<< SWIFT >>
func caseInsensitiveCompare(_ string: String) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)caseInsensitiveCompare:(NSString *)aString
パラメーター
aString | 受信者を比較すべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンでは変更される可能性があります。 |
戻り値
NSCaseInsensitiveSearch とともに、唯一のオプションとして、compare:options: を呼び出した結果。
議論
このメソッドは、自動的に NSCaseInsensitiveSearch オプションを追加します。エンドユーザに提示する文字列を比較する場合は、一般的に localizedCaseInsensitiveCompare を代わりに使用する必要があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– localizedCaseInsensitiveCompare:
– localizedCaseInsensitiveCompare:
大文字と小文字を区別しない、ローカライズされた比較を使用して、文字列を与えられた文字列と比較します。
宣言
<< SWIFT >>
func localizedCaseInsensitiveCompare(_ string: String) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)localizedCaseInsensitiveCompare:(NSString *)aString
パラメーター
aString | 受信者と比較すべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。 |
戻り値
字句の順序を示す NSComparisonResult の値を返します。NSOrderedAscending は、字句の順序で aString に受信者が続く場合であり、受信者と字句の順序で aString と同等である場合 NSOrderedSame であり、受信者に aString が続く場合 NSOrderedDescending です。
議論
このメソッドは、現在のロケールを使用します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– compare:options:range:locale:
– compare:
compare:options:range: をオプション無し、受信者を範囲いっぱいな状態で呼び出した時の結果を返します。
宣言
<< SWIFT >>
func compare(_ string: String) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)compare:(NSString *)aString
パラメーター
sString | 受信者を比較するべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンでは変更される可能性があります。 |
戻り値
compare:options:range: をオプション無し、受信者を範囲いっぱいな状態で呼び出した時の結果。
議論
エンドユーザーに提示する文字列を比較する場合には、一般的に localizedCompare: か localizedCaseInsensitiveCompare: を代わりに使用する必要があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– localizedCaseInsensitiveCompare:
– localizedCompare:
ローカライズされた比較を使用して、文字列と与えられた文字列を比較します。
宣言
<< SWIFT >>
func localizedCompare(_ string: String) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)localizedCompare:(NSString *)aString
パラメーター
aString | 受信者を比較するべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。 |
戻り値
NSComparisonResult を返します。字句の順序で受信者が string 文字列の前にある場合、NSOrderedAscendingであり、字句の値で受信者と string が同等である場合 NSOrderedSameであり、受信者に string が続く場合 NSOrderedDescending です。
議論
このメソッドは、現在のロケールを使用します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– compare:options:range:locale:
– compare:options:
与えられたオプションを使用して、文字列を指定された文字列と比較します。
宣言
<< SWIFT >>
func compare(_ string: String, options mask: NSStringCompareOptions) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask
パラメーター
aString | 受信者と比較すべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンでは変更される可能性があります。 |
mask | 検索のためのオプション。NSCaseInsensitiveSearch、NSLiteralSearch,NSNumericSearch を、C のビット単位の OR 演算子を使って以下のように組み合わせることができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
戻り値
compare:options:range: をオプションの与えられたマスクで、受信者を範囲いっぱいな状態で呼び出した時の結果。
議論
エンドユーザーに提示する文字列を比較する場合には、一般的に localizedCompare: か localizedCaseInsensitiveCompare: を代わりに使用するか、compare:options:range:locale: を使い、ユーザーのロケールを渡す必要があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– localizedCaseInsensitiveCompare:
– compare:options:range:locale:
– compare:options:range:
compare:options:range:locale: を、nil のロケールと共に呼び出した結果を返します。
宣言
<< SWIFT >>
func compare(_ string: String, options mask: NSStringCompareOptions, range compareRange: NSRange) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)range
パラメーター
aString | range で指定された受信者の範囲と比較すべき文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。 |
mask | 検索のためのオプションであり、NSCaseInsensitiveSearch、NSLiteralSearch、NSNumericSearch を C 型ビット単位の OR 演算子を使って組み合わせることができます。 これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
range | 比較を実行するべき受信機の範囲。範囲は、受信機の限界を超えてはなりません。 重要:rangeが、受信者の限界を超えた場合には NSRangeException の例外が発生します。 |
戻り値
nil のロケールで、compare:options:range:locale: を呼び出した結果。
議論
エンドユーザに提示する文字列を比較する場合、compare:options:range:locale: を代わりに使い、現在のロケールを渡します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– localizedCaseInsensitiveCompare:
– compare:options:range:locale:
指定されたオプションを使用して文字列を比較し、範囲での字句の順序を返します。
宣言
<< SWIFT >>
func compare(_ string: String, options mask: NSStringCompareOptions, range compareRange: NSRange, locale locale: AnyObject?) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)compare:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)range locale:(id)locale
パラメーター
aString | range で指定された受信者の範囲と比較した文字列。 この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。 |
mask | 検索のためのオプションであり、NSCaseInsensitiveSearch、NSLiteralSearch、NSNumericSearch を C 型のビット単位の OR 演算子を使って組み合わせることができます。 これらのオプションの詳細については文字列プログラミング·ガイド を参照してください。 |
range | 比較を実行するべき受信者の範囲。範囲は、受信者の限界を超えてはなりません。 重要:rangeが、受信者の限界を超えた場合は NSRangeException の例外が発生します。 |
locale | NSLocale のインスタンス。現在のロケールを使用するには、[NSLocale currentLocale]を渡して下さい。例えば、エンドユーザーに提示する文字列を比較している場合は、現在のロケールを使用します。システムロケールを使用するには、nil を渡します。 |
戻り値
受信者と、与えられた文字列内の指定された範囲の字句の順序を示す NSComparisonResult 値を返します。range で与えられる受信者の部分文字列が dict で与えられたロケールの字句の順序で aString が先行する場合、NSOrderedAscending、受信者の部分文字列と aString が文字の順序で等しい場合 NSOrderedSame、受信者の部分文字列が aString に続く場合、NSOrderedDescending となります。
議論
locale 引数は、等しい事と順序付けアルゴリズムの両方に影響します。例えば、一部のロケールでは、アクセント記号付き文字は、ベースの後すぐに順序付けします。他のロケールでは "Z" の後にそれらを順序付けします。
特別な考慮事項
OS X v10.5 以前では、locale 引数は NSDictionary のインスタンスでした。OS X v10.5 以降では、NSDictionary のインスタンスを渡すと、現在のロケールが代わりに使用されます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– localizedCaseInsensitiveCompare:
– localizedStandardCompare:
ファインダーによって並べ替えられたように文字列を比較します。
宣言
<< SWIFT >>
func localizedStandardCompare(_ string: String) -> NSComparisonResult << OBJECTIVE-C >> – (NSComparisonResult)localizedStandardCompare:(NSString *)string
パラメーター
String | 受信者と比較すべき文字列。 |
戻り値
比較の結果。
議論
ファイル名や他の文字列は、ファインダーのような並べ替えが適切である、リストと表でファイル名や他の文字列が提示されるいつでも、このメソッドを使用する必要があります。このメソッドの正確な並べ替え動作は、異なるロケール下では異なっており、今後のリリースで変更されることがあります。このメソッドは、現在のロケールを使用します。
利用可能
OS X v10.6 以降で利用可能。
– hasPrefix:
与えられた文字列が、受信者の先頭の文字列と一致するかどうかを示すブール値を返します。
宣言
<< SWIFT >>
func hasPrefix(_ str: String) -> Bool << OBJECTIVE-C >> – (BOOL)hasPrefix:(NSString *)aString
パラメーター
aString | 文字列。 |
戻り値
aString が、受信者の先頭の文字列と一致した場合 YES。それ以外の場合 NO。aString が空の場合、NO を返します。
議論
このメソッドは、NSAnchoredSearch オプションを使用して文字列を比較するためには便利です。詳細については、文字列のプログラミング·ガイド を参照してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– hasSuffix:
与えられた文字列が、受信者の終了文字列と一致するかどうかを示すブール値を返します。
宣言
<< SWIFT >>
func hasSuffix(_ str: String) -> Bool << OBJECTIVE-C >> – (BOOL)hasSuffix:(NSString *)aString
パラメーター
aString | 文字列。 |
戻り値
aString が、受信者の終わりの文字列と一致した場合、YES。それ以外の場合 NO。aString が空の場合、NO を返します。
議論
このメソッドは、NSAnchoredSearch と NSBackwardsSearch オプションを使用して文字列を比較するためには便利です。詳細については、文字列のプログラミング·ガイド を参照してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– isEqualToString:
リテラルの Unicode ベースの比較を使用して、与えられた文字列が受信者と等しいかどうかを示すブール値を返します。
宣言
<< SWIFT >>
func isEqualToString(_ aString: String) -> Bool << OBJECTIVE-C >> – (BOOL)isEqualToString:(NSString *)aString
パラメーター
sString | 受信者と比較されるべき文字列。 |
戻り値
aString が、受信者と同等である場合には(それらが同じ id を持っている場合、または、彼らがリテラルの比較において NSOrderedSame である場合) YES、それ以外の場合は NO。
議論
比較は、特定の文字列を、文字列を構成する UTF-16 コードユニットを加えた文字列の長さの文字列の正規表現を使用します。このメソッドが、2 つの文字列を比較すると、個別の Unicode が同じであれば、補助記憶装置のものであるかどうかは関係なく、文字列は等しい。文字列の比較に適用された場合に"リテラル" は、各種の Unicode 分解ルールは適用されず、UTF-16 コードユニットが個別に比較されることを意味します。したがって、たとえば、"Ö" は、"O" とウムラウトの合成文字として表現されており、ひとつの Unicode 文字として表現された"Ö" と比較して等しくありません。
特別な考慮事項
両方のオブジェクトが文字列であると知っている場合、このメソッドは IsEqual: で比較するよりも高速な方法です。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
hash プロパティ
ハッシュ·テーブルのアドレスとして使用できる符号なしの整数。(読み取り専用)
宣言
<< SWIFT >>
var hash: Int { get } << OBJECTIVE-C >> @property(readonly) NSUInteger hash
議論
2つの文字列オブジェクトが等しい (isEqualToString: メソッドによって決定されます) 場合、それらは同じハッシュ値でなければなりません。このプロパティは、この要件を満たしています。
OS X のリリース間で同じハッシュ値を持つこのプロパティに依存しないでください。
利用可能
OS X v10.0 以降で利用可能。
文字列の組み合わせ
– stringByAppendingFormat:
与えられた書式文字列と以下の引数から構築した文字列を受信者に付加することによって作られた文字列を返します。
宣言
<< OBJECTIVE-C >>
– (NSString *)stringByAppendingFormat:(NSString *)format , ...
パラメーター
format | 書式文字列。詳しくは、書式文字列オブジェクト を参照してください。この値は nil であってはなりません。 重要: format が nil の場合 NSInvalidArgumentException の例外が発生します。 |
... | format に置換すべき、コンマ区切りの引数リスト。 |
戻り値
stringWithFormat: の方法で、受信者に format と続く引数から構成された文字列を付加する事によって作られた文字列。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByAppendingString:
受信者に与えられた文字列を付加することによって作られた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByAppendingString(_ aString: String) -> String << OBJECTIVE-C >> – (NSString *)stringByAppendingString:(NSString *)aString
パラメーター
aString | 受信機に付加すべき文字列。この値は nil であってはなりません。 重要: aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
戻り値
受信者に aString を付加して作られた新しい文字列。
議論
例えば次の抜粋コードは:
- NSString *errorTag = @"Error: ";
- NSString *errorString = @"premature end of file.";
- NSString *errorMessage = [errorTag stringByAppendingString:errorString];
“Error: premature end of file.” という文字列を生成します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByPaddingToLength:withString:startingAtIndex:
最後から文字を削除するか、または与えられたパディング用の必要な数だけを付加することによって、受信者から形成された新しい文字列を返します。
宣言
func stringByPaddingToLength(_ newLength: Int, withString padString: String, startingAtIndex padIndex: Int) -> String << OBJECTIVE-C >> – (NSString *)stringByPaddingToLength:(NSUInteger)newLength withString:(NSString *)padString startingAtIndex:(NSUInteger)padIndex
パラメーター
newLength | 受信者のための新しい長さ。 |
padString | それによって受信者を拡張する文字列。 |
padIndex | そこからパディングを開始する padString におけるインデックス。 |
戻り値
最後から文字を削除していくか、または、必要なだけ padString を多く付加することによって、受信者から形成された新しい文字列。
議論
ここでは使い方の例をいくつか示します。
- [@"abc" stringByPaddingToLength: 9 withString: @"." startingAtIndex:0];
-         // Results in "abc......"
- [@"abc" stringByPaddingToLength: 2 withString: @"." startingAtIndex:0];
-         // Results in "ab"
- [@"abc" stringByPaddingToLength: 9 withString: @". " startingAtIndex:1];
-         // Results in "abc . . ."
-         // Notice that the first character in the padding is " "
利用可能
OS X v10.2 以降で利用可能。
文字列の分割
– componentsSeparatedByString:
与えられたセパレータによって分割された受信者からの部分文字列を含む配列を返します。
宣言
<< SWIFT >>
func componentsSeparatedByString(_ separator: String) -> [String] << OBJECTIVE-C >> – (NSArray<NSString *> *)componentsSeparatedByString:(NSString *)separator
パラメーター
separator | 区切り文字列。 |
戻り値
separator によって分割された受信者からの部分文字列を含む NSArray オブジェクト。
議論
配列内の部分文字列は、それらが、受信者で表示された順に表示されます。区切り文字列が近くに出現するのは、空の文字列を結果に生成します。同様に、セパレータで文字列が始まるか、終了する場合も、最初または最後の部分文字列は、それぞれ、空になっています。たとえば、以下の抜粋コードでは:
- NSString *list = @"Karin, Carrie, David";
- NSArray *listItems = [list componentsSeparatedByString:@", "];
{ @"Karin", @"Carrie", @"David"" } の配列を生成します。
もし list がカンマと空白で始まるならー例えば、 @", Norman, Stanley, Fletcher"なら、配列は以下のような内容になります。{ @"", @"Norman", @"Stanley", @"Fletcher" }
もし list にセパレータがなければ、例えばー"Karin" なら、配列は文字列自身を含んでいます、この場合 { @"Karin" }
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
componentsJoinedByString:(NSArray)
– componentsSeparatedByCharactersInSet:
与えられたセット内の文字によって分割された受信者からの部分文字列を含む配列を返します。
宣言
<< SWIFT >>
func componentsSeparatedByCharactersInSet(_ separator: NSCharacterSet) -> [String] << OBJECTIVE-C >> – (NSArray<NSString *> *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
パラメーター
separator | 受信者を分割するために使用する文字を含む文字セット。nil であってはなりません。 |
戻り値
separator 内の文字によって分割された受信者からの部分文字列を含む NSArray オブジェクト。
議論
配列内の部分文字列は、それらが、受信者内で表示された順に表示されます。区切り文字が近くに出現するものは、空の文字列を結果に生成します。同様に、区切り文字で文字列が始まるか、終わる場合も、最初または最後の部分文字列は、それぞれ、空になります。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
– componentsSeparatedByString:
– stringByTrimmingCharactersInSet:
– stringByTrimmingCharactersInSet:
与えられた文字セットに含まれる受信者の文字の両端から削除することによって作られた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByTrimmingCharactersInSet(_ set: NSCharacterSet) -> String << OBJECTIVE-C >> – (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set
パラメーター
set | 受信者から削除するべき文字を含む文字セット。set は nil であってはなりません。 |
戻り値
set に含まれている受信者の文字の両端から削除することによって作られた新しい文字列。受信者が set の文字から完全に構成されている場合、空の文字列が返されます。
議論
文字列の周りの空白を削除するには whitespaceCharacterSet または whitespaceAndNewlineCharacterSet を使用してください。
利用可能
OS X v10.2 以降で利用可能。
以下も見よ
– componentsSeparatedByCharactersInSet:– substringFromIndex:
与えられたインデックスで 1 から最後までの受信者の文字を含む新しい文字列を返します。
宣言
<< SWIFT >>
func substringFromIndex(_ from: Int) -> String << OBJECTIVE-C >> – (NSString *)substringFromIndex:(NSUInteger)anIndex
パラメーター
anIndex | インデックス。値は、受信機の範囲内にあるか、または受信機の長さと等しくなければなりません。 (anIndex -1) が受信者の端を越えて存在する場合、NSRangeException の例外が発生します。 |
戻り値
受信者の文字の anIndex の 1 から最後までを含む新しい文字列。もし anIndex が文字列の長さに等しい場合は、空の文字列を返します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– substringWithRange:
与えられた範囲内にある受信者の文字を含む文字列オブジェクトを返します。
宣言
<< SWIFT >>
func substringWithRange(_ range: NSRange) -> String << OBJECTIVE-C >> – (NSString *)substringWithRange:(NSRange)aRange
パラメーター
aRange | 範囲。範囲は、受信者の限界を超えてはなりません。 (aRange.location + aRange.length – 1) または(aRange.location -1) が受信者の端を越えて存在する場合 NSRangeException の例外が発生します。 |
戻り値
aRange 内にある受信者の文字を含む文字列オブジェクト。
特別な考慮事項
このメソッドは、(負の長さのものを含む) すべての無効な範囲を検出します。OS X v10.6 以降とリンクしているアプリの場合、このエラーは、例外を発生します。以前のリリースに対してリンクされたアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– substringToIndex:
与えられたインデックスの 1 は含まず、受信者の文字をインデックスまで含む、新しい文字列を返します。
宣言
<< SWIFT >>
func substringToIndex(_ to: Int) -> String << OBJECTIVE-C >> – (NSString *)substringToIndex:(NSUInteger)anIndex
パラメーター
anIndex | インデックス。値は、受信機の範囲内にあるか、または受信者の長さと等しくなければなりません。 (anIndex -1) が受信者の端を越えて存在した場合、NSRangeException の例外が発生します。 |
戻り値
anIndex の 1 は含まず、インデックスまで、受信者の文字を含む、新しい文字列。anIndex が文字列の長さに等しい場合には、受信者のコピーを返します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
文字と部分文字列の検索
– containsString:
大文字と小文字を区別した、ロケールを考慮しない検索を行うことにより、与えられた文字列を受信者が含んでいるかどうかを返します。
宣言
<< SWIFT >>
func containsString(_ str: String) -> Bool << OBJECTIVE-C >> – (BOOL)containsString:(NSString *)str
パラメーター
str | 検索されるべき文字列。この値は nil であってはなりません。 |
戻り値
受信者が str を含んでいれば YES、それ以外の場合 NO。
議論
このメソッドを呼び出すのは、rangeOfString:options: をオプションなしで呼び出すことと同じです。
利用可能
OS X 10.10 以降で利用可能。
– localizedCaseInsensitiveContainsString:
大文字と小文字を区別しない、ロケールを考慮した検索を行うことにより、与えられた文字列を受信者が含んでいるかどうかを返します。
宣言
<< SWIFT >>
func localizedCaseInsensitiveContainsString(_ str: String) -> Bool << OBJECTIVE-C >> – (BOOL)localizedCaseInsensitiveContainsString:(NSString *)str
パラメーター
str | 検索されるべき文字列。この値は nil であってはなりません。 |
戻り値
受信者が str を含んでいれば YES、それ以外の場合 NO。
このメソッドを呼び出すのは、NSCaseInsensitiveSearch オプションを指定して rangeOfString:options: を呼び出すことと同じです。
利用可能
OS X 10.10 以降で利用可能。
– localizedStandardContainsString:
大文字小文字と区別符号符を区別しない、ロケールを考慮した検索を行うことにより、与えられた文字列を受信者が含んでいるかどうかを返します。
宣言
<< SWIFT >>
func localizedStandardContainsString(_ str: String) -> Bool << OBJECTIVE-C >> – (BOOL)localizedStandardContainsString:(NSString *)str
パラメーター
str | 検索されるべき文字列。この値は nil であってはなりません。 |
戻り値
受信者が str を含んでいれば YES、それ以外の場合 NO。
利用可能
OS X 10.11 以降で利用可能。
– localizedStandardRangeOfString:
大文字小文字と区別符号符を区別しない、ロケールを考慮した検索を行うことにより、受信者内の与えられた文字列が最初に現れる範囲を検索し、返します。
宣言
<< SWIFT >>
func localizedStandardRangeOfString(_ str: String) -> NSRange << OBJECTIVE-C >> – (NSRange)localizedStandardRangeOfString:(NSString *)str
パラメーター
str | 検索されるべき文字列。この値は nil であってはなりません。 |
戻り値
受信者内の str の最初に発生する範囲。str が見つからない場合{NSNotFound,0} を返します。
利用可能
OS X 10.11 以降で利用可能。
– rangeOfCharacterFromSet:
与えられた文字セットの最初の文字の受信者での範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfCharacterFromSet(_ searchSet: NSCharacterSet) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet
パラメーター
aSet | 文字のセット。この値は nil であってはなりません。 aSet が nil の場合 NSInvalidArgumentException の例外が発生します。 |
戻り値
aSet から最初に見つかった文字の受信者での範囲。aSet 内の文字のいずれも見つからない場合は { NSNotFound,0} の範囲を返します。
議論
rangeOfCharacterFromSet:options: をオプションなしで起動します。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfCharacterFromSet:options:
与えられた文字セットから、与えられたオプションを使用して、最初の文字の受信者内の範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfCharacterFromSet(_ searchSet: NSCharacterSet, options mask: NSStringCompareOptions) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask
パラメーター
aSet | 文字のセット。この値は nil であってはなりません。 aSet が nil の場合 NSInvalidArgumentException の例外が発生します。 |
mask | 検索オプションを指定するマスク。以下のオプションは、C 言語のビット単位の OR 演算子と組み合わせることによって指定できます:NSAnchoredSearch、NSBackwardsSearch。 |
戻り値
aSet から最初に見つかった文字の受信者での範囲。aSet 内の文字のいずれも見つからない場合は{ NSNotFound,0} の範囲を返します。
議論
rangeOfCharacterFromSet:options:range: を、オプションの mask と、範囲に受信者の全範囲で呼び出します。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfCharacterFromSet:options:range:
与えられたオプションで、与えられた範囲で見つかった、与えられた文字セットからの最初の文字の受信者の範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfCharacterFromSet(_ searchSet: NSCharacterSet, options mask: NSStringCompareOptions, range searchRange: NSRange) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfCharacterFromSet:(NSCharacterSet *)aSet options:(NSStringCompareOptions)mask range:(NSRange)aRange
パラメーター
aSet | 文字のセット。この値は nil であってはなりません。 aSet が nil の場合 NSInvalidArgumentException の例外が発生します。 |
mask | 検索オプションを指定するマスク。以下のオプションは、C 言語のビット単位の OR 演算子と組み合わせることによって指定できます:NSAnchoredSearch、NSBackwardsSearch。 |
aRange | 検索すべき範囲。aRange は、受信者の境界を超えてはなりません。 aRange が無効な場合 NSRangeException の例外が発生します。 |
戻り値
aRange 内 の aSet から見つかった最初の文字の受信者の範囲。aSet 内の文字のいずれも見つからない場合は {NSNotFound,0} の範囲を返します。
議論
このメソッドは、受信者上の Unicode 正規化を全く実行しませんので、基準形式的に等価な形式は一致しません。たとえば、文字列 “strüdel” を検索すると、分解した文字 "u"(U+0075 LATIN SMALL LETTER U)と “¨” (U+0308 COMBINING DIAERESIS) を含む合成済み文字 “ü” (U+00FC LATIN SMALL LETTER U WITH DIAERESIS) を含む文字セットはセット内の文字のいずれも検出されないため {NSNotFound,0} を返します。
特別な考慮事項
このメソッドは、(負の長さのものを含む) すべての無効な範囲を検出します。OS X v10.6 以降とリンクしているアプリの場合、このエラーでは、例外が発生します。以前のリリースに対してリンクされたアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfString:
受信者内の与えられた文字列の最初に現れる範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfString(_ searchString: String) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfString:(NSString *)aString
パラメーター
aString | 検索すべき文字列。この値は nil であってはなりません。 aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
戻り値
aString が最初に現れる受信者での位置と長さを与える NSRange 構造体。aString が見つからないか、空(@"") の場合、{NSNotFound,0}を返します。
議論
オプションなしで rangeOfString:options: を起動します。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfString:options:
与えられたオプションの対象としての受信者内で与えられた文字列が最初に現れる範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfString(_ searchString: String, options mask: NSStringCompareOptions) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask
パラメーター
aString | 検索すべき文字列。この値は nil であってはなりません。 重要: aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
mask | 検索オプションを指定するマスク。 NSCaseInsensitiveSearch、NSLiteralSearch、NSBackwardsSearch、NSAnchoredSearch のオプションから、C のビット単位の OR 演算子で組み合わせて指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
戻り値
aString が最初に現れる受信者での位置と長さを与える NSRange の構造体で、mask 内のオプションと同じです。aString が見つからないか、空 (@"") の場合{NSNotFound,0} を返します。
議論
rangeOfString:options:range: を、mask で指定されたオプションと範囲として受信者の全範囲で呼び出します。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfString:options:range:
与えられたオプションの対象として受信者の与えられた範囲内の与えられた文字列が最初に現れる範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfString(_ searchString: String, options mask: NSStringCompareOptions, range searchRange: NSRange) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
パラメーター
aString | 検索すべき文字列。この値は nil であってはなりません。 aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
mask | 検索オプションを指定するマスク。NSCaseInsensitiveSearch、NSLiteralSearch、NSBackwardsSearch、および NSAnchoredSearch のオプションを、C のビット単位の OR 演算子で組み合わせて指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
aRange | aString を検索するべき受信者内の範囲。 aRange が無効な場合 NSRangeException の例外が発生します。 |
戻り値
受信者内の aRange 内の aString の受信者での位置と長さを与える NSRange 構造体で、mask 内のオプションと同じです。返される範囲は、渡された範囲ではなく、文字列の先頭への相対です。aString が見つからないか、空 (@"") の場合 {NSNotFound,0} を返します。
議論
同等の合成された文字列が一致した場合には戻される範囲の長さと aString の長さは異なる場合があります。
特別な考慮事項
このメソッドは、(負の長さのものを含めて) すべての無効な範囲を検出します。OS X v10.6 以降にリンクしているアプリの場合、このエラーは、例外を発生させます。以前のリリースにリンクしたアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。
利用可能
OS X v10.0 以降で利用可能。
– rangeOfString:options:range:locale:
もしあれば、指定されたロケールを使用して、与えられたオプションへの対象として、受信者の与えられた範囲内で与えられた文字列が最初に現れる範囲を検索し、返します。
宣言
<< SWIFT >>
func rangeOfString(_ searchString: String, options mask: NSStringCompareOptions, range searchRange: NSRange, locale locale: NSLocale?) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange locale:(NSLocale *)locale
パラメーター
aString | 検索すべき文字列。この値は nil であってはなりません。 aString が nil の場合 NSInvalidArgumentException の例外が発生します。 |
mask | 検索オプションを指定するマスク。 NSCaseInsensitiveSearch、NSLiteralSearch、NSBackwardsSearch、および NSAnchoredSearch のオプションを、C のビット単位の OR 演算子で組み合わせて指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
aRange | その中で aString を検索するべき受信者内の範囲。 aRange が無効な場合 NSRangeException の例外が発生します。 |
locale | aString と受信者を比較する際に使うロケール。現在のロケールを使用するには、[NSLocale currentLocale] と渡します。システムロケールを使用するには、nil を渡して下さい。 ロケール引数は、同一性をチェックするアルゴリズムに影響を与えます。たとえば、トルコのロケールの場合、大文字小文字を区別しないで "I" は "ı" (Unicode コードポイント U+0131、ラテンスモールドットレス I) と一致し、通常の "i" の文字ではありません。 |
戻り値
受信者での aRange 内の aString の受信者での位置と長さを与える NSRange 構造体で、mask 内のオプションと同じです。返される範囲は、渡された範囲にではなく、文字列の先頭への相対です。aString が見つからないか、空(@"") である場合、{NSNotFound,0} を返します。
議論
同等の合成された文字列が一致した場合には、戻された範囲の長さと aString の長さとは異なる場合があります。
特別な考慮事項
このメソッドは、(負の長さのものを含む) すべての無効な範囲を検出します。OS X v10.6 以降とリンクしているアプリの場合、このエラーは、例外を発生させます。以前のリリースにリンクされたアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。
利用可能
OS X v10.5 以降で利用可能。
– enumerateLinesUsingBlock:
文字列内のすべての行を列挙します。
宣言
<< SWIFT >>
func enumerateLinesUsingBlock(_ block: (String, UnsafeMutablePointerObjCBool>) -> Void) << OBJECTIVE-C >> – (void)enumerateLinesUsingBlock:(void (^)(NSString *line, BOOL *stop))block
パラメーター
block | 列挙を実行したブロック。 このブロックは2つの引数を取ります。 | |
line | 列挙中の文字列の現在の行。行は、行末なしに、行の内容だけを含んでいます。行末の議論は、getParagraphStart:end:contentsEnd:forRange: を参照してください。 | |
stop | *stop = YES に設定して列挙を停止させるためにブロックが使用できるブール値への参照。他の方法では *stop に触れないで下さい。 |
利用可能
OS X v10.6 以降で利用可能。
– enumerateSubstringsInRange:options:usingBlock:
文字列の指定された範囲内の指定された型の部分文字列を列挙します。
宣言
<< SWIFT >>
func enumerateSubstringsInRange(_ range: NSRange, options opts: NSStringEnumerationOptions, usingBlock block: (String?, NSRange, NSRange, UnsafeMutablePointer<ObjCBool>) -> Void) << OBJECTIVE-C >> – (void)enumerateSubstringsInRange:(NSRange)range options:(NSStringEnumerationOptions)opts usingBlock:(void (^)(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop))block
パラメーター
range | 部分文字列を列挙すべき文字列内の範囲。 | ||
opts | 部分文字列と列挙スタイルの種類を指定するオプション。 | ||
block | 列挙を実行したブロック。 ブロックは4つの引数を取ります。 | ||
substring | 列挙された文字列。 | ||
substringRange | 受信者での列挙された文字列の範囲。 | ||
enclosingRange | 部分文字列だけでなく、続く任意の区切りや充当詞の文字を含む範囲。例えば、線の場合、enclosingRange は行末を含んでいます。また、列挙された最初の文字列の enclosingRange は、文字列の前に発生したすべての文字を含んでいます。連続的に囲む範囲は重複しないことが保証されており、列挙された範囲内のすべての文字は、一つの、かつ唯一の囲む範囲にに含まれています。 | ||
stop | *stop = YES と設定することにより、列挙を停止するためにブロックが使用できるブール値への参照。それは *stop に他の方法では触れないで下さい。 |
議論
このメソッドが NSMutableString のインスタンスに送信された場合、変異(削除、付加、または変更) は、enclosingRange 内にある限り、許されます。変異の後、処理された範囲の直前の範囲で列挙は、処理された範囲の長さが変異のために調整された後続きます。(列挙子は、指定した範囲内で発生した全ての長さの変化を前提としています。)
例えば、ブロックが範囲の位置 N から始まり、ブロックが供給範囲内のすべての文字を削除して呼び出された場合、次の呼び出しも範囲の指標として N を渡します。これは、前の範囲の変異が、以下の部分文字列が既に列挙した範囲を含むように拡張しているような方法で文字列を変更する場合でも同様です。例えば、文字列 "Hello World" が単語を経由して列挙された場合、ブロックは"Hello "を"Hello" へと変更し、このようにして"HelloWorld" を形成すると、次の列挙では、"HelloWorld" ではなく"World" を返します。
利用可能
OS X v10.6 以降で利用可能。
部分文字列の置き換え
– stringByReplacingOccurrencesOfString:withString:
受信者でのターゲットの文字列のすべての出現箇所を別の与えられた文字列で置き換えた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByReplacingOccurrencesOfString(_target : String, withString replacement: String) -> String << OBJECTIVE-C >> – (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
パラメーター
target | 置き換えるべき文字列。 |
replacement | target を交換すべき文字列。 |
戻り値
受信者での target のすべての出現を replacement によって置き換えた新しい文字列。
議論
stringByReplacingOccurrencesOfString:withString:options:range: を 0 のオプションと文字列全体の範囲で呼び出します。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
– stringByReplacingOccurrencesOfString:withString:options:range:
– stringByReplacingCharactersInRange:withString:
– stringByReplacingPercentEscapesUsingEncoding:
– stringByReplacingOccurrencesOfString:withString:options:range:
受信者の、指定された範囲のターゲットの文字列のすべての出現箇所が別の与えられた文字列で置き換えられた新しい文字列を返します。
宣言
<< SWIFT >>
unc stringByReplacingOccurrencesOfString(_ target: String, withString replacement: String, options options: NSStringCompareOptions, range searchRange: NSRange) -> String << OBJECTIVE-C >> – (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange
パラメーター
target | 置換すべき文字列。 |
replacement | target を置き換えるべき文字列。 |
options | 受信者と target を比較するときに使うオプションのマスク。何もオプションを指定しない場合は、0 を渡します。 |
searchRange | target を検索する、受信者での範囲。 |
戻り値
受信者の searchRange (探索範囲) で、options を使用して、一致した target のすべての出現が、replacement によって置き換えられた新しい文字列。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
– stringByReplacingOccurrencesOfString:withString:
– stringByReplacingCharactersInRange:withString:
– stringByReplacingPercentEscapesUsingEncoding:
– stringByReplacingCharactersInRange:withString:
受信者の指定された範囲の文字が与えられ文字列で置き換えられた、新しい文字列を返します。
宣言
<< SWIFT >>
func stringByReplacingCharactersInRange(_ range: NSRange, withString replacement: String) -> String << OBJECTIVE-C >> – (NSString *)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement
パラメーター
range | 受信者での文字の範囲。 |
replacement | range 内の文字を置き換えるべき文字列。 |
戻り値
受信者の range の文字を replacement により置き換えた新しい文字列。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
– stringByReplacingOccurrencesOfString:withString:
– stringByReplacingOccurrencesOfString:withString:options:range:
– stringByReplacingPercentEscapesUsingEncoding:
行と段落の範囲の決定
– getLineStart:end:contentsEnd:forRange:
与えられた範囲でタッチされた最初の行の先頭と最後の行の終わりの参照によって返します。
宣言
<< SWIFT >>
func getLineStart(_ startPtr: UnsafeMutablePointer<Int>, end lineEndPtr: UnsafeMutablePointer<Int>, contentsEnd contentsEndPtr: UnsafeMutablePointer<Int>, forRange range: NSRange) << OBJECTIVE-C >> – (void)getLineStart:(NSUInteger *)startIndex end:NSUInteger *)lineEndIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange
パラメーター
startIndex | 戻る時に、aRange の始まりを含む行の最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
lineEndIndex | 戻る時に、aRange の終わりを含む行の終末を渡した最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
contentsEndIndex | 戻る時に、aRange の終わりを含む行の終末の最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
aRange | 受信者内の範囲。値は、受信者の限界を超えてはなりません。 aRange が無効な場合 NSRangeException の例外が発生します。 |
議論
行はこれらの文字によって区切られ、可能な限り長いシーケンスは、任意のより短い物より好まれています:
- U+000A Unicode 文字'ラインフィード(LF)'(\n)
- U+000D Unicode 文字'キャリッジリターン(CR)'(\r)
- U+0085 Unicode 文字 'NEXT LINE(NEL)'
- U+2028 Unicode 文字 '行区切り'
- U+2029 Unicode 文字 'PARAGRAPH セパレータ'
- \r\n この順序で (CRLF としても知られている)
aRange が1行で含まれている場合は、もちろん、返されるインデックスはすべて、その行に属します。範囲の長さとして初めのインデックスと終わりのインデックスとの違いと範囲の位置の初めのインデックスを利用して行の範囲を構築するために、このメソッドの結果を使用できます。
特別な考慮事項
このメソッドは、すべての無効な範囲を検出します(負の長さを含みます)。OS X v10.6 以降とリンクしているアプリの場合、このエラーは、例外が発生します。以前のリリースとリンクしているアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– lineRangeForRange:
行を表す文字の範囲または与えられた範囲を含む行を返します。
宣言
<< SWIFT >>
func lineRangeForRange(_ range: NSRange) -> NSRange << OBJECTIVE-C >> – NSRange)lineRangeForRange:(NSRange)aRange
パラメーター
aRange | 受信者内の範囲。値は、受信者の限界を超えてはなりません。 |
戻り値
行の終端文字を含む aRange を含む行を表す文字の範囲。行末の議論は、 getLineStart:end:contentsEnd:forRange: を参照してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– getLineStart:end:contentsEnd:forRange:
– getParagraphStart:end:contentsEnd:forRange:
与えられた範囲で触れた最初の段落の初めと最後の段落の最後を参照によって返します。
宣言
<< SWIFT >>
func getParagraphStart(_ startPtr: UnsafeMutablePointer<Int>, end parEndPtr: UnsafeMutablePointer<Int>, contentsEnd contentsEndPtr: UnsafeMutablePointer<Int>, forRange range: NSRange) << OBJECTIVE-C >> – (void)getParagraphStart:(NSUInteger *)startIndex end:(NSUInteger *)endIndex contentsEnd:(NSUInteger *)contentsEndIndex forRange:(NSRange)aRange
パラメーター
startIndex | 戻る時に、aRange の始まりを含む段落の最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
endIndex | 戻る時に、aRange の終わりを含む段落の終末を渡した最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
contentsEndIndex | 戻る時に、aRange の終わりを含む行の終末の最初の文字のインデックスを含んでいます。この値を必要としない場合は NULL を渡します(この場合、値の計算の作業は行われません)。 |
aRange | 受信者内の範囲。値は、受信者の限界を超えてはなりません。 |
議論
aRange が単一の段落に含まれている場合は、もちろん、返されたインデックスはすべて、その段落に属します。 getLineStart:end:contentsEnd:forRange: のように、段落の範囲を構築するために、このメソッドの結果を使用できます。
利用可能
OS X v10.3 以降で利用可能。
以下も見よ
– paragraphRangeForRange:
段落を表す文字の範囲または与えられた範囲を含む段落の範囲を返します。
宣言
<< SWIFT >>
func paragraphRangeForRange(_ range: NSRange) -> NSRange << OBJECTIVE-C >> – (NSRange)paragraphRangeForRange:(NSRange)aRange
パラメーター
aRange | 受信者内の範囲。範囲は、受信者の限界を超えてはなりません。 |
戻り値
段落、または aRange を含む段落、段落の終末文字を含む段落を表す文字の範囲。
利用可能
OS X v10.3 以降で利用可能。
以下も見よ
– getParagraphStart:end:contentsEnd:forRange:
合成文字シーケンスの決定
– rangeOfComposedCharacterSequenceAtIndex:
与えられたインデックスに位置する合成された文字シーケンスの受信者内の範囲を返します。
宣言
<< SWIFT >>
func rangeOfComposedCharacterSequenceAtIndex(_ index: Int) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)anIndex
パラメーター
anIndex | 受信者での文字のインデックス。この値は、受信者の限界を超えてはなりません。 |
戻り値
anIndex に位置する合成された文字シーケンスの受信者内の範囲。
議論
構成された文字シーケンスは anIndex の所か前に最初に見つかった分解されたベースの文字を含んでおり、その長さは分解されたベースの文字とそれに続く合結合されたすべての文字を含んでいます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– rangeOfComposedCharacterSequencesForRange:
– rangeOfComposedCharacterSequencesForRange:
与えられた範囲での合成された文字シーケンスの文字列内の範囲を返します。
宣言
<< SWIFT >>
func rangeOfComposedCharacterSequencesForRange(_ range: NSRange) -> NSRange << OBJECTIVE-C >> – (NSRange)rangeOfComposedCharacterSequencesForRange:(NSRange)range
パラメーター
range | 受信者内の範囲。範囲は、受信者の限界を超えてはなりません。 |
戻り値
range 内の合成された文字シーケンスを含む受信者での範囲。
議論
このメソッドは、重複するすべての合成された文字シーケンスを含むように範囲を広げる便利な方法を提供します。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
– rangeOfComposedCharacterSequenceAtIndex:
文字列の内容のプロパティリストへの変換
– propertyList
一番上の要素に応じて、NSString、NSData、NSArray、または NSDictionary オブジェクトを返すプロパティリストのテキスト表現として受信者を解析します。
宣言
<< SWIFT >>
func propertyList() -> AnyObject << OBJECTIVE-C >> – (id)propertyList
戻り値
一番上の要素に応じて、NSString、NSData、NSArray、または NSDictionary オブジェクトを返すプロパティリスト表現。
議論
受信者は、プロパティリスト形式の文字列を含んでいなければなりません。プロパティリスト形式の説明については、プロパティリストプログラミングガイド を参照してください。
重要:受信者がプロパティリストとして解析できない場合は NSParseErrorException の例外が発生します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– propertyListFromStringsFileFormat
– propertyListFromStringsFileFormat
受信者で見つかったキー値で初期化された dictionary オブジェクトを返します。
宣言
<< SWIFT >>
func propertyListFromStringsFileFormat() -> [NSObject : AnyObject]? << OBJECTIVE-C >> – (NSDictionary *)propertyListFromStringsFileFormat
戻り値
受信機で見つかったキー値で初期化された dictionay オブジェクト。
議論
受信者は、.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";
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
文字列の描画
– drawAtPoint:withAttributes:
現在のグラフィックスコンテキスト内の指定されたポイントで、与えられた属性のフォントや他の表示特性で受信者を描画します。
宣言
<< SWIFT >>
func drawAtPoint(_ point: NSPoint, withAttributes attrs: [String : AnyObject]?) << OBJECTIVE-C >> – (void)drawAtPoint:(NSPoint)point withAttributes:(NSDictionary<NSString *, id> *)attrs
パラメーター
point | 文字列の描画を開始したい現在のグラフィックスコンテキスト内のポイント。グラフィックスコンテキストの座標系は、通常、あなたが描画しているビューによって定義されます。 AppKit では、原点は通常、描画領域の左下隅にありますが、フォーカスされたビューが反転した場合、原点は左上隅にあります。 |
attrs | テキストの dictionary は文字列に適用される原因です。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合は、属性は文字列内の範囲よりも、文字列全体に適用されます。 |
境界のボックスを使用している drawInRect:withAttributes: とは異なり、レンダリング領域の幅(縦のレイアウトの高さ) は、無制限です。その結果、このメソッドは、単一の行のテキストをレンダリングします。しかし、改行文字が文字列に存在している場合は、それらの文字は守られ、それに続くテキストが出発点の下にある次の行に配置する原因となります。
フォーカスされたビューまたはあなたがこのメソッドを呼び出すアクティブなグラフィックスコンテキストのいずれかが存在する必要があります。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X 10.0 以降で利用可能。
– drawInRect:withAttributes:
指定された境界の長方形の中に属性の文字列を描画します。
宣言
<< SWIFT >>
func drawInRect(_ rect: NSRect, withAttributes attrs: [String : AnyObject]?) << OBJECTIVE-C >> – (void)drawInRect:(NSRect)rect withAttributes:(NSDictionary<NSString *, id> *)attrs
パラメーター
rect | その中に文字列を描画するべき境界の長方形。AppKit では、境界のボックスの原点は通常左下隅にありますが、フォーカスされたビューが反転した場合、原点は左上隅にあります。 |
attrs | それで文字列を描画するテキスト属性。これらは、NSAttributedString オブジェクトに適用することができるのと同じ属性ですが、NSString オブジェクトの場合は、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
議論
このメソッドは、それがフィットするように、必要に応じて文字列のテキストを包み込み、指定された長方形の内部になるように、できるだけ多くの文字列を描画します。文字列が完全に長方形の内部に収まるには長すぎる場合は、メソッドは、残りのクリップを出来るだけ多くレンダリングします。
改行文字が文字列中に存在する場合、これらの文字は守られ、それに続くテキストが出発点の下にある次の行に配置する原因となります。
フォーカスされたビューまたはあなたがこのメソッドを呼び出すアクティブなグラフィックスコンテキストのいずれかが存在する必要があります。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X 10.0 以降で利用可能。
– drawWithRect:options:attributes:context:
提供されるオプションを使用して、指定された境界の長方形内の属性付き文字列を描画します。
宣言
<< SWIFT >>
func drawWithRect(_ rect: NSRect, options options: NSStringDrawingOptions, attributes attributes: [String : AnyObject]?, context context: NSStringDrawingContext?) << OBJECTIVE-C >> – (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options attributes:(NSDictionary<NSString *, id> *)attributes context:(NSStringDrawingContext *)context
パラメーター
rect | その中で文字列を描画するべき境界の長方形。 |
options | レンダリング時に文字列に適用する追加の描画オプション。可能な値のリストについては、NSStringDrawingOptions を参照してください。 |
attributes | 文字列を描画するためのテキスト属性。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合には、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
context | フォントの追跡と拡大の情報を調整する方法についての情報を持つコンテキストオブジェクト。戻る時に、指定されたオブジェクトは、文字列をレンダリングするために使用される実際の値に関する情報を含んでいます。このパラメータは nil であってもよいです。 |
議論
このメソッドは、それがフィットするように、必要に応じて文字列のテキストを包み込み、指定された長方形の内部になるように、文字列を出来るだけ多く描画します。文字列が完全に長方形の内側に収まるには大きすぎる場合、このメソッドは、フォントの大きさを調整し、または与えられた境界内に文字列が収まるように文字間隔を調整します。
改行文字が文字列中に存在する場合、これらの文字は、守られ、それに続くテキストが出発点の下にある次の行に配置する原因となります。正しく描画し、複数行のテキストのサイズを調整するには、options パラメータで NSStringDrawingUsesLineFragmentOrigin を渡します。
特別な考慮事項
このメソッドは、デフォルトで、ベースラインの原点を使用しています。
NSStringDrawingUsesLineFragmentOrigin が指定されていない場合、長方形の高さは無視され、操作は、単一行のレンダリングであると考えられます。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X 10.11 以降で利用可能。
– boundingRectWithSize:options:attributes:context:
現在のグラフィックスコンテキスト内の指定した長方形内に、与えられたオプションと表示特性を使用して描かれた受信者のための境界の長方形を計算し、返します。
宣言
<< SWIFT >>
func boundingRectWithSize(_ size: NSSize, options options: NSStringDrawingOptions, attributes attributes: [String : AnyObject]?, context context: NSStringDrawingContext?) -> NSRect << OBJECTIVE-C >> – (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary<NSString *, id> *)attributes context:(NSStringDrawingContext *)context
パラメーター
size | その中で描画する長方形のサイズ。 |
options | 文字列描画オプション。 |
attributes | 文字列に適用されるテキスト属性の dictionary。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合は、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
context | 最小スケールファクタおよびトラッキング調整を指定する、受信者に使用する文字列の描画コンテキスト。 |
戻り値
与えられたオプションと表示特性を使用して描画された受信者の境界の長方形。このメソッドから返された長方形の原点は最初の記号の原点です。
議論
複数行のテキストを正しく描画し、サイズ調整するには、options パラメータで NSStringDrawingUsesLineFragmentOrigin を渡します。
このメソッドは、(返された CGRect の size コンポーネントの) 分数のサイズを返します。ビューの大きさを調整するのに、返されたサイズを使用するには、ceil 関数を使用して、最寄りの高い整数にその値を上げる必要があります。
訳注: ceil 関数は古い関数で、Xcode 5.0 を引っ張り出さないとならないようです。余裕がないので後回しにします。
このメソッドは、文字列内の glyph (記号) の実際の境界を返します。glyph のいくつか(例えば空白) は、渡されたサイズによって指定されたレイアウト制約をオーバーラップさせる事を許し、いくつかの場合には返された CGRect のサイズ成分の幅の値は size パラメータの幅の値を超えることができるようにします。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X 10.11 以降で利用可能。
以下も見よ
– drawInRect:withAttributes:– sizeWithAttributes:
与えられた属性で描画された場合、受信者が占める境界のボックスのサイズを返します。
宣言
<< SWIFT >>
func sizeWithAttributes(_ attrs: [String : AnyObject]?) -> NSSize << OBJECTIVE-C >> – (NSSize)sizeWithAttributes:(NSDictionary<NSString *, id> *)attrs
パラメーター
attrs | 文字列に適用されるテキスト属性の dictionary。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合は、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
戻り値
指定された属性で描画するとき受信者が占める境界のボックスのサイズ。
議論
このメソッドは、分数のサイズを返します。ビューのサイズに返されたサイズを使用するには、ceil 関数を使用して、最寄りの高い整数にその値を上げる必要があります。
訳注: ceil 関数は古い関数で、Xcode 5.0 を引っ張り出さないとならないようです。余裕がないので後回しにします。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X 10.0 以降で利用可能。
文字列の折りたたみ
– stringByFoldingWithOptions:locale:
与えられた文字の折りたたみオプションが適用される、文字列を返します。
宣言
<< SWIFT >>
func stringByFoldingWithOptions(_ options: NSStringCompareOptions, locale locale: NSLocale?) -> String << OBJECTIVE-C >> – (NSString *)stringByFoldingWithOptions:(NSStringCompareOptions)options locale:(NSLocale *)locale
パラメーター
options | 接尾辞 InsensitiveSearch でフラグを比較するマスク。 |
locale | 折りたたみに使用するロケール。現在のロケールを使用するには、[NSLocale currentLocale] を渡して下さい。システムロケールを使用するには、nil を渡します。 |
戻り値
文字の折りたたみオプションが適用される文字列。
議論
文字の折りたたみ操作は文字の間の区別を削除します。例えば、大文字小文字の折り畳みは、大文字を小文字の等しい文字に置き換えます。
ロケール(locale) は、折り畳み式の法則に影響を与えます。たとえば、トルコ語のロケールの場合、大文字小文字を区別しないで "I" は "ı"(Unicode コードポイント U+0131、ラテンスモールドットレス I) と一致し、通常の "i" 文字とは一致しません。
利用可能
OS X v10.5 以降で利用可能。
共有接頭辞の取得
– commonPrefixWithString:options:
受信者と、与えられた文字列が、等価ではない最初の文字まで、各々の先頭から始まる共通した文字を含む文字列を返します。
宣言
<< SWIFT >>
func commonPrefixWithString(_ str: String, options mask: NSStringCompareOptions) -> String << OBJECTIVE-C >> – (NSString *)commonPrefixWithString:(NSString *)aString options:(NSStringCompareOptions)mask
パラメーター
aString | 受信者と比較すべき文字列。 |
>mask | 比較のためのオプション。NSCaseInsensitiveSearch、NSLiteralSearch の検索オプションは、C のビット単位の OR 演算子と組み合わせることによって指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。 |
戻り値
受信者と aString は等価ではない最初の文字までの各々の先頭から、共通している文字を含む文字列。
議論
返された文字列は、受信者の文字に基づいています。例えば、受信者が "Ma¨dchen" で、aString が "Mädchenschule" である場合、返される文字列は "Ma¨dchen" であり、"Mädchen" ではありません。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
大文字小文字の変更
capitalizedString プロパティ
受信者の大文字による表現。(読み取り専用)
宣言
<< SWIFT >>
var capitalizedString: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *capitalizedString
議論
各単語の最初の文字から成る文字列は、対応する大文字の値に変更され、残りのすべての文字は、対応する小文字の値に設定されます。
"単語" とは、スペース、タブ、または改行記号(getLineStart:end:contentsEnd:forRange: にリストされています。)で区切られた全てのの文字シーケンスです。単語を区切るいくつかの一般的な記号が考慮されていないので、このプロパティでは、一般的に複数の単語文字列で望んだ結果を得られない場合があります。
大文字小文字の変換は対称的であることも、オリジナルと同じ長さの文字列を生成することも保証されません。例として lowercaseString を参照してください。
注意:このプロパティは、正規の(ローカライズされていない)マッピングを行います。これは、現在のロケールに依存しない安定した結果を必要とするプログラミング操作に適しています。ユーザーに表示する文字列のローカライズされたケースマッピングについては、capitalizedStringWithLocale: メソッドを使用して下さい。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– capitalizedStringWithLocale:
– capitalizedStringWithLocale:
指定されたロケールを使用して、受信者の大文字表現を返します。
宣言
<< SWIFT >>
func capitalizedStringWithLocale(_ locale: NSLocale?) -> String << OBJECTIVE-C >> – (NSString *)capitalizedStringWithLocale:(NSLocale *)locale
パラメーター
locale | ロケール。ユーザに提示される文字列については、現在のロケール([NSLocale currentLocale])を渡します。システムのロケールを使用するには、nil を渡します。 |
戻り値
受信者の各単語からの最初の文字を含む文字列は、対応する大文字の値に変更され、残りのすべての文字は、対応する小文字の値に設定されます。
議論
"単語"とは、スペース、タブ、または改行記号(getLineStart:end:contentsEnd:forRange: にリストされています) で区切られた全ての文字シーケンスです。単語を区切るいくつかの一般的な記号が考慮されていないので、このメソッドは一般に、複数単語文字列で望んだ結果を得られない場合があります。
利用可能
OS X v10.8 以降で利用可能。
以下も見よ
lowercaseString プロパティ
文字列の小文字での表現。
宣言
<< SWIFT >>
var lowercaseString: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *lowercaseString
議論
小文字変換は対称的であることも、オリジナルと同じ長さの文字列を生成することも保証されていません。以下の文の結果:
cString = [myString lowercaseString];
は、以下の文と等しくない場合があります。
lcString = [[myString uppercaseString] lowercaseString];
たとえば、ドイツ語で “ß” の大文字は "SS" なので、“Straße” を大文字に変換し、その後、小文字にを変換すると、以下の文字列を生成します。
“Straße”
“STRASSE”
“strasse”
注意:このプロパティは、正規の(ローカライズされない) マッピングを行います。これは、現在のロケールに依存しない安定した結果を必要とするプログラミング操作に適しています。ユーザーに表示される文字列のローカライズされたケースマッピングは、lowercaseStringWithLocale: を使用して下さい。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– lowercaseStringWithLocale:uppercaseString
– uppercaseStringWithLocale:
– lowercaseStringWithLocale:
すべての文字を小文字に変換し、特定のロケールを考慮に入れた文字列のバージョンを返します。
宣言
<< SWIFT >>
func lowercaseStringWithLocale(_ locale: NSLocale?) -> String << OBJECTIVE-C >> – (NSString *)lowercaseStringWithLocale:(NSLocale *)locale
パラメーター
locale | ロケール。ユーザに提示される文字列については、現在のロケール([NSLocale currentLocale]) を渡します。システムのローカルを使用するには、nil を渡します。 |
戻り値
locale を使用した小文字の文字列。@"ABcde" を入力すると、@"abcde" を返します。
議論
.
利用可能
OS X v10.8 以降で利用可能。
以下も見よ
uppercaseString プロパティ
文字列の大文字表現。(読み取り専用)
宣言
<< SWIFT >>
var uppercaseString: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *uppercaseString
議論
大文字変換は対称的であることも、オリジナルと同じ長さの文字列を生成することも保証されていません。 lowercaseString で例を参照してください。
注意:このプロパティは、正規の(ローカライズされない) マッピングを行います。これは、現在のロケールに依存しない安定した結果を必要とするプログラミング操作に適しています。ユーザーに表示される文字列のローカライズされたケースマッピングについては、uppercaseStringWithLocale: を使用して下さい。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– uppercaseStringWithLocale:
指定されたロケールを考慮に入れ、すべての文字を大文字に変換した、文字列のバージョンを返します。
宣言
<< SWIFT >>
func uppercaseStringWithLocale(_ locale: NSLocale?) -> String << OBJECTIVE-C >> – (NSString *)uppercaseStringWithLocale:(NSLocale *)locale
パラメーター
locale | ロケール。ユーザに提示される文字列については、現在のロケール([NSLocale currentLocale]) を渡します。システムロケールを使用するには、nil を渡して下さい。 |
戻り値
locale を使用した大文字の文字列。@"ABcde" と入力すると、結果は @"ABCDE" になります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
マッピングによる文字列取得
decomposedStringWithCanonicalMapping プロパティ
Unicode の正規化形式 D を使用して文字列の内容を正規化することによって作られた文字列(読み取り専用)
宣言
<< SWIFT >>
var decomposedStringWithCanonicalMapping: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *decomposedStringWithCanonicalMapping
利用可能
OS X v10.2 以降で利用可能。
以下も見よ
precomposedStringWithCanonicalMappingdecomposedStringWithCompatibilityMapping
decomposedStringWithCompatibilityMapping プロパティ
Unicode の正規化形式 KD を使用して、受信者の内容を正規化することによって作られた文字列。(読み取り専用)
宣言
<< SWIFT >>
var decomposedStringWithCompatibilityMapping: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *decomposedStringWithCompatibilityMapping
利用可能
OS X v10.2 以降で利用可能。
以下も見よ
precomposedStringWithCompatibilityMappingdecomposedStringWithCanonicalMapping
precomposedStringWithCanonicalMapping プロパティ
Unicode の正規化形式 C を使用して文字列の内容を正規化することによって作られた文字列。(読み取り専用)
宣言
<< SWIFT >>
var precomposedStringWithCanonicalMapping: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *precomposedStringWithCanonicalMapping
利用可能
OS X v10.2 以降で利用可能。
以下も見よ
precomposedStringWithCompatibilityMappingdecomposedStringWithCanonicalMapping
precomposedStringWithCompatibilityMapping プロパティ
Unicode の正規化形式 KC を使用して、受信者の内容を正規化することによって作られた文字列。(読み取り専用)
宣言
<< SWIFT >>
var precomposedStringWithCompatibilityMapping: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *precomposedStringWithCompatibilityMapping
利用可能
OS X v10.2 以降で利用可能。
以下も見よ
precomposedStringWithCanonicalMappingdecomposedStringWithCompatibilityMapping
数値の取得
doubleValue プロパティ
double としての文字列の浮動小数点の値。(読み取り専用)
宣言
<< SWIFT >>
var doubleValue: Double { get } << OBJECTIVE-C >> @property(readonly) double doubleValue
議論
このプロパティは、文字列の先頭に空白を含んでいません。このプロパティは、アンダーフローでは 0.0、オーバーフローでは HUGE_VAL または -HUGE_VAL です。文字列が浮動小数点数の有効なテキスト表現で始まっていない場合、このプロパティは 0.0 です。
このプロパティは、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには NSScanner オブジェクトを使用します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
floatValuelongLongValue
integerValue
scanDouble: (NSScanner)
floatValue プロパティ
float としての文字列の浮動小数点の値。(読み取り専用)
宣言
<< SWIFT >>
var floatValue: Float { get } << OBJECTIVE-C >> @property(readonly) float floatValue
議論
このプロパティは、文字列の先頭に空白を含んでいません。このプロパティは、アンダーフローでは 0.0 オーバーフローでは HUGE_VAL または -HUGE_VAL です。文字列が浮動小数点数の有効なテキスト表現で始まっていない場合、このプロパティは 0.0 です。
このプロパティ(原文 メソッド) は、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには NSScanner オブジェクトを使用します。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
doubleValuelongLongValue
integerValue
scanFloat: (NSScanner)
intValue プロパティ
文字列の整数値。(読み取り専用)
宣言
<< SWIFT >>
var intValue: Int32 { get } << OBJECTIVE-C >> @property(readonly) int intValue
議論
文字列の整数値であり、十進数表現を仮定し、文字列の先頭の空白をスキップします。このプロパティは、オーバーフローでは INT_MAX または INT_MIN です。文字列が数値の有効な十進数のテキスト表現で始まっていない場合、このプロパティは 0 です。
このプロパティは、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには NSScanner オブジェクトを使用します。
特別な考慮事項
OS X v10.5 以降では、代わりにintegerValue を使用してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
integerValuedoubleValue
floatValue
scanInt: (NSScanner)
integerValue プロパティ
文字列の NSInteger 値。(読み取り専用)
宣言
<< SWIFT >>
var integerValue: Int { get } << OBJECTIVE-C >> @property(readonly) NSInteger integerValue
議論
文字列の NSInteger 値であり、十進数表現を仮定し、文字列の先頭の空白をスキップします。文字列が数値の有効な十進数のテキスト表現で始まっていない場合、このプロパティは 0 です。
このプロパティは、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには NSScanner オブジェクトを使用します。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
doubleValuefloatValue
scanInt: (NSScanner)
longLongValue プロパティ
文字列の long long 値。(読み取り専用)
宣言
<< SWIFT >>
var longLongValue: Int64 { get } << OBJECTIVE-C >> @property(readonly) long long longLongValue
議論
文字列の long long 値であり、十進数表現を仮定し、文字列の先頭の空白をスキップします。このプロパティは、オーバーフローでは LLONG_MAX または LLONG_MIN です。受信者が数値の有効な十進数のテキスト表現で始まっていない場合、このプロパティは 0 です。
このプロパティは、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには、NSScanner オブジェクトを使用します。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
doubleValuefloatValue
scanInt: (NSScanner)
boolValue プロパティ
文字列のブール値。(読み取り専用)
宣言
<< SWIFT >>
var boolValue: Bool { get } << OBJECTIVE-C >> @property(readonly) BOOL boolValue
議論
このプロパティは、"Y"、"y"、"T"、"t"、または数字の 1-9 のいずれかに遭遇すると YES になり、メソッドは、引き続く文字を無視します。受信車が、数値の有効な十進数のテキスト表現で始まっていない場合、このプロパティは NO です。
利用可能
OS X v10.5 以降で利用可能。
以下も見よ
integerValuescanInt: (NSScanner)
コード化での作業
+ availableStringEncodings
アプリの環境でコード化する文字列オブジェクトサポートの、ゼロで終わるリストを返します。
宣言
<< SWIFT >>
class func availableStringEncodings() -> UnsafePointer<UInt> << OBJECTIVE-C >> + (const NSStringEncoding *)availableStringEncodings
戻り値
アプリの環境でコード化する文字列オブジェクトサポートの、ゼロで終わるリスト。
議論
より一般的に使用されるコード化の中には、以下のものがあります:
多くのサポートされているコード化の大きなリストと説明については、NSStringEncoding 型を参照してください。ここにリストされているコード化に加えて、Core Foundation の中の CFString で定義されたコード化も使用できます。それらを使用可能な形式に変換する CFStringConvertEncodingToNSStringEncoding 関数を呼び出す必要があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
+ localizedNameOfStringEncoding:
+ defaultCStringEncoding
引数として C 文字列を受け入れるいずれかのメソッドで想定されている C 文字列のコード化を返します。
宣言
<< SWIFT >>
class func defaultCStringEncoding() -> UInt << OBJECTIVE-C >> + (NSStringEncoding)defaultCStringEncoding
戻り値
引数として C 文字列を受け入れるいずれかのメソッドを想定されている C 文字列のコード化。
議論
このメソッドは、ユーザのデフォルト言語および潜在的な他の要因からその値が派生した、ユーザ依存のコード値を返します。時には他のヒントが存在しない場合で、未知のコード化を持つユーザー文書を解釈する際にこのコード化を使用する必要があるかもしれませんが、一般的にこのコード化は、あってもほとんど使用されません。いくつかの潜在的な値は、例えば、双方向のコード化で句読点文字などの、非常に簡単な、予期しないコード化の NSString の内容が生じる可能性があることに注意してください。
引数に C の文字列を受け入れるメソッドは、キーワード内の ... CString... をそのような引数として使います:例えば、stringWithCString: ー 注意。しかし、これらは旧式です。 デフォルト の C 文字列コード化は、システム情報から決定され、個別のプロセスのためにプログラムで変更することはできません。サポートされるコード化の完全なリストについては、NSStringEncoding を参照してください。
利用可能
OS X v10.0 以降で利用可能。
+ stringEncodingForData:encodingOptions:convertedString :usedLossyConversion:
宣言
<< SWIFT >>
class func stringEncodingForData(_ data: NSData, encodingOptions opts: [String : AnyObject]?, convertedString string: AutoreleasingUnsafeMutablePointer<NSString?>, usedLossyConversion usedLossyConversion: UnsafeMutablePointer<ObjCBool>) -> UInt << OBJECTIVE-C >> + (NSStringEncoding)stringEncodingForData:(NSData *)data encodingOptions:(NSDictionary<NSString *, id> *)opts convertedString:(NSString * _Nullable *)string usedLossyConversion:(BOOL *)usedLossyConversion
パラメーター
data | 決定すべきコード化内のバイトを含む NSData オブジェクト。 |
opts | 文字列のコード化を決定しようとしたときに使用するオプション。サポートされるオプションの完全なリストについては、文字列コード化の検出オプション を参照してください。 |
string | 文字列のコード化が決定できた場合、戻る時に、決定された文字列コード化を使用してデータから構築された NSString オブジェクトを含んでいます。 |
sedLossyConversion | 文字列コード化が決定できた場合、戻る時に損失の多い変換が使用されたかどうかに対応した BOOL 値を含んでいます。 |
戻り値
NSStringEncoding 値、または文字列コード化が決定できなかった場合 0。
利用可能
OS X 10.10 以降で利用可能。
+ localizedNameOfStringEncoding:
与えられたコード化の名前を与える、人間が読める文字列を返します。
宣言
<< SWIFT >>
class func localizedNameOfStringEncoding(_ encoding: UInt) -> String << OBJECTIVE-C >> + (NSString *)localizedNameOfStringEncoding:(NSStringEncoding)encoding
パラメーター
encoding | コード化する文字列。 |
戻り値
現在のロケールでの encoding の名前を与える、人間に判読できる文字列。
利用可能
OS X v10.0 以降で利用可能。
– canBeConvertedToEncoding:
受信者が情報の損失なしに、与えられたコード化に変換することができるかどうかを示すブール値を返します。
宣言
<< SWIFT >>
func canBeConvertedToEncoding(_ encoding: UInt) -> Bool << OBJECTIVE-C >> – (BOOL)canBeConvertedToEncoding:(NSStringEncoding)encoding
パラメーター
encoding | 文字列のコード化。 |
戻り値
受信者が情報の損失なしに encoding に変換することができる場合 YES。文字が変更され、またはコード化を変更する際の処理で削除されなければならない場合には NO を返します。
議論
実際に文字列を変換しようとした際、dataUsingEncoding:... メソッドは失敗時に nil を返すので、単に文字列を変換しようとすることで、このメソッドを自分で呼び出すオーバーヘッドを避けることができます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– dataUsingEncoding:allowLossyConversion:
– dataUsingEncoding:
与えられたコード化を使用してコード化された受信者の表現を含む NSData オブジェクトを返します。
宣言
<< SWIFT >>
func dataUsingEncoding(_ encoding: UInt) -> NSData? << OBJECTIVE-C >> – (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
パラメーター
encoding | コード化する文字列。 |
戻り値
dataUsingEncoding:allowLossyConversion: を第2引数を NO として(つまり、損失のない変換を必要とする)呼び出した結果。
利用可能
OS X v10.0 以降で利用可能。
– dataUsingEncoding:allowLossyConversion:
与えられたコードを使用してコード化された受信者の表現を含む NSData オブジェクトを返します。
宣言
<< SWIFT >>
func dataUsingEncoding(_ encoding: UInt, allowLossyConversion lossy: Bool) -> NSData? << OBJECTIVE-C >> – (NSData *)dataUsingEncoding:(NSStringEncoding)encoding allowLossyConversion:(BOOL)flag
パラメーター
encoding | コード化する文字列。 |
flag | YES の場合は、変換の際、文字を削除したり、変更することができます。 |
戻り値
encoding を使ってコード化された受信者の表現を含むN SData オブジェクト。flag が NO であり、受信者が情報を失わずに変換できない場合は nil を返します(アクセントや大文字小文字など)。
議論
flag が YES であり、受信者が情報を失うことなく変換できない場合は、変換する際に一部の文字が削除され、または変更されます。。たとえば、NSUnicodeStringEncoding から NSASCIIStringEncoding に文字を変換する際に、文字 ‘Á’ はアクセントを失って、'A' になります。
このメソッドは、得られた NSData オブジェクトを安全にファイルに書き出すことが確実にできるようにするために(必要であれば、エンディアンを示すために、バイトオーダーマーカーを付けて) 外部表現を作成します。損失のない変換が行われた際の、このメソッドの結果は、コード化のためのデフォルトの"プレーンテキスト" 形式で、文字列オブジェクトを保存または送信するための推奨された方法です。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
description プロパティ
NSString オブジェクト。(読み取り専用)
宣言
var description: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *description
利用可能
OS X v10.0 以降で利用可能。
fastestEncoding プロパティ
受信者が、情報を失うことなく変換できる最も速いコード化。(読み取り専用)
宣言
<< SWIFT >>
var fastestEncoding: UInt { get } << OBJECTIVE-C >> @property(readonly) NSStringEncoding fastestEncoding
議論
"最速" は、文字列からの文字の検索に適用されます。このコード化は、場所にとって効率的ではないかもしれません。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
smallestEncoding– getCharacters:range:
smallestEncoding プロパティ
受信者が、情報の損失なしに変換できる最小の符コード化。(読み取り専用)
宣言
<< SWIFT >>
var smallestEncoding: UInt { get } << OBJECTIVE-C >> @property(readonly) NSStringEncoding smallestEncoding
議論
このコード化は文字にアクセスするための最速のものではありませんが、場所にとって効率的です。このプロパティは、アクセスするために時間がかかる場合があります。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
パスでの作業
+ pathWithComponents:
各ペア間のパスの区切りとそれらを連結することによって、与えられた配列内の文字列から構築された文字列を返します。
宣言
<< SWIFT >>
class func pathWithComponents(_ components: [String]) -> String << OBJECTIVE-C >> + (NSString *)pathWithComponents:(NSArray<NSString *> *)components
パラメーター
components | ファイルパスを表す NSString オブジェクトの配列。絶対パスを作成するには、第一成分として、スラッシュマーク("/")を使用します。続くパス分割子を含めるには、最後の成分として空の文字列を使用して下さい。 |
戻り値
各ペア間のパスの区切り文字で(配列に表れた順序で) それらを連結した components 内の文字列から構築された文字列。
議論
このメソッドは、作成したパスを仕上げません。空のコンポーネントや、親ディレクトリへの参照などを解決するためには stringByStandardizingPath を使用して下さい。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
pathComponents プロパティ
受信者のファイルシステムのパスコンポーネント。(読み取り専用)
宣言
<< SWIFT >>
var pathComponents: [String] { get } << OBJECTIVE-C >> @property(readonly, copy) NSArray <NSString *> *pathComponents
議論
配列内の文字列は、それらが受信機で現れた順に現れます。文字列が、パスの区切り文字で始まるか終わる場合、最初または最後の構成成分は、それぞれ、区切り文字を含みます。(連続したパス区切り文字によって引き起こされる)空の構成成分は削除されます。たとえば、次のコードの抜粋:
- NSString *path = @"tmp/scratch";
- NSArray *pathComponents = [path pathComponents];
は、以下の内容の配列を生成します。
インデックス | パス成分 |
---|---|
0 | “tmp” |
1 | “scratch” |
受信者がスラッシュで始まっている場合、例えば、"/tmp/scratch" であれば 、以下の内容になります。
インデックス | パス成分 |
---|---|
0 | “/” |
1 | “scratch” |
受信者に区切り文字がない場合。たとえば、“scratch” 配列は、この場合は “scratch” の文字列自体を含みます。
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– componentsSeparatedByString:
– completePathIntoString:caseSensitive:matchesIntoArray:filterTypes:
ファイルシステム内のパスとして受信者を解釈し、受信者に一致する最長のパスを参照する事で、一致が可能であったかどうかを示す数値を返す、ファイル名の補完を実行しようとします。
宣言
<< SWIFT >>
func completePathIntoString(_ outputName: AutoreleasingUnsafeMutablePointer<NSString?>, caseSensitive flag: Bool, matchesIntoArray outputArray: AutoreleasingUnsafeMutablePointer<NSArray?>, filterTypes filterTypes: [String]?) -> Int << OBJECTIVE-C >> – (NSUInteger)completePathIntoString:(NSString * _Nonnull *)outputName caseSensitive:(BOOL)flag matchesIntoArray:(NSArray<NSString *> * _Nonnull *)outputArray filterTypes:(NSArray<NSString *> *)filterTypes
パラメーター
outputName | 戻る時に、受信者と一致する最長のパスを含みます。 |
flag | YES の場合、このメソッドはありうる補完のためのケースを考慮しています。 |
outputArray | 戻る時に、一致するすべてのファイル名を含みます。 |
filterTypes | パスの拡張子が完了するのを検討するのを指定する NSString オブジェクトの配列。その拡張子のパスだけ(拡張子の区切りは含まない) が一致する、これらの文字列の一つが outputArray に含まれています。この出力をフィルタしたくない場合は、nil を渡して下さい。 |
戻り値
正確に一つの一致が見つかった場合は 1、一致が見つからなかった場合は 0。複数の一致がある場合、outputArray が提供されている場合はパスが合致した実際の数を返し、outputArray が NULL の場合は単に正の値を返します。
議論
outputArray として NULL を渡すと、検索することなく、一致があるかどうかを確認できます。
このメソッドは、ファイルパスでのみ動作することに注意してください(例えば URL の文字列表現では動作しません)。
利用可能
OS X v10.0 以降で利用可能。
fileSystemRepresentation プロパティ
受信者のファイルシステム固有の表現を返します。
宣言
<< SWIFT >>
var fileSystemRepresentation: UnsafePointer<Int8> { get } << OBJECTIVE-C >> @property(readonly) const char *fileSystemRepresentation
議論
返されたオブジェクトが解放されるのと同じように、返された C 文字列は自動的に解放されます。あなたのコードは、表現が作成されたメモリコンテキストの外側で表現を格納する必要がある場合、表現をコピーするか、または getFileSystemRepresentation:maxLength: を使用する必要があります。
受信者が、ファイルシステムのコード化で表現できない場合 NSCharacterConversionException の例外が発生します。受信者に文字が含まれていない場合にも例外が発生します。
このメソッドは、ファイルパス(例えば URL の文字列表現ではなく) でのみ動作することに注意してください。
char * パスを NSString オブジェクトに変換するには(C ライブラリルーチンから得られるように) NSFileManager の stringWithFileSystemRepresentation:length: メソッドを使用してください。
利用可能
OS X v10.0 以降で利用可能。
– getFileSystemRepresentation:maxLength:
システムに依存しないパスとして受信者を解釈し、フォーマット内の C 文字列とファイル·システム·コールで使用するのに適したコード化でバッファを埋めます。
宣言
<< SWIFT >>
func getFileSystemRepresentation(_ cname: UnsafeMutablePointer<Int8>, maxLength max: Int) -> Bool << OBJECTIVE-C >> – (BOOL)getFileSystemRepresentation:(char *)buffer maxLength:(NSUInteger)maxLength
パラメーター
buffer | 戻る時、システムに依存しないパスとしての受信者を表す C 文字列と NULL 終了バイトを含んでいます。buffer の大きさは、maxLength のバイトを含むのに十分な大きさでなければなりません。 |
maxLength | buffer に戻すべき、文字列の最大バイト数。(このメソッドが追加する終端の NULL 文字を含みます)。 |
戻り値
buffer が正常にファイルシステム表現で満たされていれば YES 、そうでなければ NO(例えば、maxLength が超えてしまう場合や受信者が、ファイルシステムのコード化で表現できない場合には)。
議論
このメソッドは、抽象パスと拡張子の区切り文字(それぞれ、'/'と '.')をオペレーティングシステムのそれらの等価物に置き換えることで動作します。システム固有のパスや拡張子の区切り文字は抽象的表現で表示された場合(これらが抽象的区切り文字と同じでない限り)、それが変換された文字は、システムに依存します。
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)でのみ動作することに注意してください。
次の例では、maxLength 引数の使用方法を示しています。最初のメソッド呼び出しは、文字列のファイル表現(@"/mach_kernel") は、12バイト長で、NULL 終了バイトの追加を許可しておらず、maxLength 引数(12)として渡された値であるため失敗を返します。
- char filenameBuffer[13];
- BOOL success;
- success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:12];
- // success == NO
- // Changing the length to include the NULL character does work
- success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:13];
- // success == YES
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
absolutePath プロパティ
受信機が絶対パスを表しているかどうかを示すブール値を返します。(読み取り専用)
宣言
<< SWIFT >>
var absolutePath: Bool { get } << OBJECTIVE-C >> @property(getter=isAbsolutePath, readonly) BOOL absolutePath
議論
受信者が(パスとして解釈された場合)、絶対パスを表す場合は、YES それ以外の場合 NO。
パスの詳細については 文字列プログラミングガイド を参照してください。
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) でのみ動作することに注意してください。メソッドは、パスのファイルシステムが存在するかどうかをチェックしません。(そのタスクでは fileExistsAtPath: か、NSFileManager の類似のメソッドを使用して下さい)
利用可能
OS X v10.0 以降で利用可能。
lastPathComponent プロパティ
受信者の最後のパスコンポーネント。(読み取り専用)
宣言
<< SWIFT >>
var lastPathComponent: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *lastPathComponent
議論
パスの構成要素は、パスの区切り文字(スラッシュ"/") またはパス文字列の先頭や末尾で区切られた英数字の文字列です。文字列の最後にある複数のパス区切り文字は削除されます。
以下の表は、多様な異なるパス上にある lastPathComponent の効果を示しています。
受信者の文字列値 | 返される文字列 |
---|---|
“/tmp/scratch.tiff” | “scratch.tiff” |
“/tmp/scratch” | “scratch” |
“/tmp/” | “tmp” |
“scratch///” | “scratch” |
“/” | “/” |
このメソッドは、ファイルパス(例えば URL の文字列表現では動作しません)でのみ動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
pathComponentspathExtension プロパティ
もしあれば、パスとして解釈される文字列のパス拡張。(読み取り専用)
宣言
<< SWIFT >>
var pathExtension: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *pathExtension
議論
最後のピリオドがある場合、パス拡張はそれに続く最後のパス構成成分の一部です。以下の表は、異なるパスの多様な pathExtension の効果を示しています。
受信者の文字列値 | 返される文字列 |
---|---|
“/tmp/scratch.tiff” | “tiff” |
“.scratch.tiff” | “tiff” |
“/tmp/scratch” | “” (空の文字列) |
“/tmp/” | “” (空の文字列) |
“/tmp/scratch..tiff” | “tiff” |
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
pathComponentslastPathComponent
stringByAbbreviatingWithTildeInPath プロパティ
チルダ(~) 文字で現在のパスの現在のホームディレクトリ部分を置き換える新しい文字列。
宣言
<< SWIFT >>
var stringByAbbreviatingWithTildeInPath: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByAbbreviatingWithTildeInPath
議論
現在の文字列オブジェクトに基づいた新しい文字列。新しい文字列が現在のホームディレクトリにあるファイルを指定した場合、パスのホームディレクトリの部分は、チルダ(~) 文字に置き換えられます。文字列が、現在のホームディレクトリ内のファイルを指定していない場合、このメソッドは、現在の文字列内のパスから変更されていない新しい文字列オブジェクトのパスを返します。
このメソッドは、ファイルパスでのみ動作することに注意してください。これは、URL の文字列表現では動作しません。
OS X のサンドボックスのアプリについては、現在のホームディレクトリは、ユーザのホームディレクトリと同じではありません。サンドボックス化されたアプリでは、ホームディレクトリは、アプリのホームディレクトリです。サンドボックス化されたアプリの /Users/<current_user>/file.txt のパスを指定したのであれば、返されるパスは、オリジナルと変わらないでしょう。しかし、サンドボックス内にないアプリの同じパスを指定した場合は、このメソッドは、チルダで /Users/<currrent_user> の部分のパスを置き換えます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByExpandingTildeInPath
– stringByAppendingPathComponent:
受信者に、与えられた文字列を付加することによって作られた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByAppendingPathComponent(_ str: String) -> String << OBJECTIVE-C >> – (NSString *)stringByAppendingPathComponent:(NSString *)aString
パラメーター
aString | 受信者に追加すべきパスコンポーネント。 |
戻り値
パスの区切り文字による必要に応じて先行した、受信者に aString を付加することによって作られた、新しい文字列。
議論
以下の表は、aString が “scratch.tiff” として提供されていると仮定して、異なるパスの多様性において、このメソッドの効果を示しています。
受信者の文字列の値 | 結果の文字列 |
---|---|
“/tmp” | “/tmp/scratch.tiff” |
“/tmp/” | “/tmp/scratch.tiff” |
“/” | “/scratch.tiff” |
“” (空の文字列) | “scratch.tiff” |
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByAppendingPathExtension:
stringByDeletingLastPathComponent
– stringByAppendingPathExtension:
拡張区切り文字に続く与えられた拡張子を受信者に付加することによって作られた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByAppendingPathExtension(_ str: String) -> String? << OBJECTIVE-C >> – (NSString *)stringByAppendingPathExtension:(NSString *)ext
パラメーター
ext | 受信者に追加すべき拡張子。 |
戻り値
受信者に ext が続く拡張子の区切りを追加する事によって作られる新しい文字列。
議論
以下の表は、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 の文字列表現では動作しません) のみで動作することに注意してください。
特別な考慮事項
OS X v10.9 以前では、このメソッドでは、チルダ文字(~) で始まるファイル名にファイル拡張子を追加することはできませんでした。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByAppendingPathComponent:
– stringByDeletingPathExtension
stringByDeletingLastPathComponent プロパティ
最終のパスの区切りと一緒に、受信者からの最後のパスコンポーネントを削除することにより作られた新しい文字列を返します。(読み取り専用)
宣言
<< SWIFT >>
var stringByDeletingLastPathComponent: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByDeletingLastPathComponent
議論
最終のパスの区切りと一緒に、受信者からの最後のパスコンポーネントを削除することにより作られた新しい文字列。受信者がルートパスを表す場合、それは変更されず返されます。
以下の表は、異なるパスの多様性の上において、このメソッドの効果を示しています。
受信者の文字列の値 | 結果の文字列 |
---|---|
“/tmp/scratch.tiff” | “/tmp” |
“/tmp/lock/” | “/tmp” |
“/tmp/” | “/” |
“/tmp” | “/” |
“/” | “/” |
“scratch.tiff” | “” (空の文字列) |
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByAppendingPathComponent:
stringByDeletingPathExtension プロパティ
最後のパスの区切り文字と一緒に、受信者から最後のパスコンポーネントを削除することによって作られた新しい文字列。(読み取り専用)
宣言
<< SWIFT >>
var stringByDeletingLastPathComponent: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByDeletingLastPathComponent
議論
全ての最後のパスの区切り文字と一緒に、受信者から最後のパスコンポーネントを削除することによって作られた新しい文字列。受信者がルートパスを表している場合には、変更されずに返されます。
以下の表は、異なるパスの多様性の上において、このメソッドの効果を示しています。
受信者の文字列の値 | 結果の文字列 |
---|---|
“/tmp/scratch.tiff” | “/tmp/scratch” |
“/tmp/” | “/tmp” |
“scratch.bundle/” | “scratch” |
“scratch..tiff” | “scratch.” |
“.tiff” | “.tiff” |
“/” | “/” |
@".tiff" から拡張子を削除しようとすると、空の文字列の代わりに @".tiff" の結果になることに注意してください。この違いは、ファイル名の @".tiff" は拡張子を持つとは考えられないので、何も削除されないからです。このメソッドは、ファイルパス(例えば、URL の文字列表現 では動作しません) のみで動作することにも注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByDeletingLastPathComponent
stringByExpandingTildeInPath プロパティ
受信者の初期コンポーネントをそのフルパス値に拡張して作られた新しい文字列を返します。
宣言
<< SWIFT >>
var stringByExpandingTildeInPath: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByExpandingTildeInPath
戻り値
受信者の初期コンポーネントを拡張して作られた新しい文字列であり、"~ "または"~user" で始まる場合、その完全なパス値に変えます。受信者の初期コンポーネントを展開できない場合は、受信者に一致する新しい文字列を返します。
議論
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
stringByAbbreviatingWithTildeInPath
stringByResolvingSymlinksInPath プロパティ
すべてのシンボリックリンクを解決し、パスを標準化することにより、受信者から作られた新しい文字列。(読み取り専用)
宣言
<< SWIFT >>
var stringByResolvingSymlinksInPath: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByResolvingSymlinksInPath
議論
すべてのシンボリックリンクを解決し、その後無関係なパス成分を除去することで作られた新しい文字列。絶対パスの場合、すべてのシンボリックリンクが削除されることが保証されます。相対パスの場合、解決できないシンボリックリンクが、返される文字列に未解決のままにされています。
エラーが発生した場合、self が返されます。
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
stringByStandardizingPath プロパティ
受信者から関係のないパス·コンポーネントを削除することによって作られた新しい文字列。(読み取り専用)
宣言
<< SWIFT >>
var stringByStandardizingPath: String { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByStandardizingPath
議論
以下の変更を行って、新しい文字列を作成できます。
- stringByExpandingTildeInPath を使用して初期のチルダ表現を展開します。
- 結果がまだ(ファイルシステムを調べることによって確認された) 既存のファイルまたはディレクトリを示す場合、パスから “/private/var/automount”, “/var/automount”, または “/private” の最初の成分を削除します。
- 空のコンポーネントと現在のディレクトリへの参照(つまり、“//”と“/./”のシークエンス)を削減し、単一パスの区切りにします。
- 最後のコンポーネントから続く、スラッシュを削除します。
- 絶対パスのみの場合、親ディレクトリへの参照(つまり、“..” のコンポーネント) を、 stringByResolvingSymlinksInPath を使用して、本当の親ディレクトリへと解決します。
エラーが起きた場合は、self を返します。
このメソッドによって返されるパスはまだその中にシンボリックリンクのコンポーネントを有するかもしれないことに注意してください。このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)のみで動作することにも注意してください。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
stringByResolvingSymlinksInPath
– stringsByAppendingPaths:
与えられた配列で、受信者に各文字列を別途付加することによって作られた文字列の配列を返します。
宣言
<< SWIFT >>
func stringsByAppendingPaths(_ paths: [String]) -> [String] << OBJECTIVE-C >> – (NSArray<NSString *> *)stringsByAppendingPaths:(NSArray<NSString *> *)paths
パラメーター
paths | 受信者に追加するべき、パスを指定する NSString オブジェクトの配列。 |
戻り値
必要に応じて先行したパスの区切り文字による、受信者への paths 内の各文字列を、別に付加することによって作られた NSString オブジェクトの配列。
議論
このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。個別の例では stringByAppendingPathComponent: を参照してください。
利用可能
OS X v10.0 以降で利用可能。
URL での作業
– stringByAddingPercentEncodingWithAllowedCharacters:
パーセントコード化された文字を指定されたセット内にないすべての文字を置換することにより、受信者から作られた新しい文字列を返します。
宣言
<< SWIFT >>
func stringByAddingPercentEncodingWithAllowedCharacters(_ allowedCharacters: NSCharacterSet) -> String? << OBJECTIVE-C >> – (NSString *)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet *)allowedCharacters
パラメーター
allowedCharacters | 文字列内の置き換えられない文字。 |
戻り値
コード化された文字列、または変換が不可能な場合は nil を返します。
議論
UTF-8 のコード化が正しいパーセントコード化された文字を決定するために使用されます。全体の URL 文字列はパーセントコード化されることはできません。
このメソッドは、パーセントコード化に URL 文字列全体ではなく、URL コンポーネントまたはサブコンポーネントを意図します。7 ビット ASCII 範囲外の allowedCharacters 内の全ての文字は無視されます。
利用可能
OS X v10.0 以降で利用可能。
以下も見よ
– stringByAddingPercentEscapesUsingEncoding:
– stringByReplacingPercentEscapesUsingEncoding:
– stringByRemovingPercentEncoding
– stringByRemovingPercentEncoding
一致する UTF-8 文字を持つすべてのパーセントコード化されたシーケンスを置換することにより受信者から作られた、新しい文字列を返します。
宣言
<< SWIFT >>
var stringByRemovingPercentEncoding: String? { get } << OBJECTIVE-C >> @property(readonly, copy) NSString *stringByRemovingPercentEncoding
戻り値
パーセントコード化されたシークエンスを削除された新しい文字列、または受信者が、無効なパーセントコード化シーケンスを含んでいる場合、nil。
利用可能
OS X v10.9 以降で利用可能。
以下も見よ
– stringByAddingPercentEncodingWithAllowedCharacters:– stringByAddingPercentEscapesUsingEncoding:
– stringByReplacingPercentEscapesUsingEncoding:
言語的タグ付けと分析
enumerateLinguisticTagsInRange:scheme:options:orthography :usingBlock:
置かれたタグとブロックを提供する、文字列の特定の範囲を列挙することによって、指定した文字列に対する言語分析を実行します。
宣言
<< SWIFT >>
func enumerateLinguisticTagsInRange(_ range: NSRange, scheme tagScheme: String, options opts: NSLinguisticTaggerOptions, orthography orthography: NSOrthography?, usingBlock block: (String, NSRange, NSRange, UnsafeMutablePointer<ObjCBool>) -> Void) << OBJECTIVE-C >> – (void)enumerateLinguisticTagsInRange:(NSRange)range scheme:(NSString *)tagScheme options:(NSLinguisticTaggerOptions)opts orthography:(NSOrthography *)orthography usingBlock:(void (^)(NSString *tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop))block
パラメーター
range | 解析すべき文字列の範囲。 | |
tagShceme | 使用するタグスキーム。サポートされる値については、言語タグのスキームを参照して下さい。 | |
opts | 使用する言語的タグ付けオプション。定数については、NSLinguisticTaggerOptions を参照して下さい。これらの定数は、C 言語のビットごとの OR 演算子を使用して組み合わせることができます。 | |
orthography | 文字列の正書法。nil の場合は、言語タグ付けは、文字列の内容から正書法を決定しようとします。 | |
block | 文字列に適用するべき Block。 block は4つの引数を取ります。 | |
tag | トークンのタグスキーム。opts パラメータは、配置されているタグ付けオプションの種類を指定します。 | |
tokenRange | タグ·スキームに一致する文字列の範囲。 | |
sentenceRange | トークンが見つかった文の範囲。 | |
stop | ブール値への参照。ブロックは、配列の更なる処理を停止するために値を YES に設定できます。stop 引数は、out だけの引数です。ブロック内ではこのブール値を YES にだけしか設定できません。 |
議論
これは便利なメソッドです。それは、NSLinguisticTagger のインスタンスを作成するのと同等であり、分析する文字列としての受信者と、orthography(または nil) を指定して、次いで NSLinguisticTagger または enumerateTagsInRange:scheme:options:usingBlock: のメソッドを呼び出します。
利用可能
OS X v10.7 以降で利用可能。
– linguisticTagsInRange:scheme:options:orthography:tokenRanges:
受信文字列内の指定された範囲の言語タグと要求されたタグの配列を返します。
宣言
<< SWIFT >>
func linguisticTagsInRange(_ range: NSRange, scheme tagScheme: String, options opts: NSLinguisticTaggerOptions, orthography orthography: NSOrthography?, tokenRanges tokenRanges: AutoreleasingUnsafeMutablePointer<NSArray?>) -> [String] << OBJECTIVE-C >> – (NSArray<NSString *> *)linguisticTagsInRange:(NSRange)range scheme:(NSString *)tagScheme options:(NSLinguisticTaggerOptions)opts orthography:(NSOrthography *)orthography tokenRanges:(NSArray<NSValue *> * _Nullable *)tokenRanges
パラメーター
range | 分析する文字列の範囲。 |
tagScheme | 使用するタグスキーム。サポートされる値については 言語タグのスキーム を参照してください。 |
opts | 使用する言語的タグ付けオプション。定数 については NSLinguisticTaggerOptions を参照してください。これらの定数は、C のビットごとの OR 演算子を使用して組み合わせることができます。 |
orthography | 文字列の正書法。nil の場合、言語タグ付けは、文字列の内容から正書法を決定しようとします。 |
tokenRanges | 参照による、NSValue オブジェクトに包み込まれた言語タグのトークンの範囲を含む、戻った配列。 |
戻り値
受信文字列内の tokenRanges の言語タグを含む配列を返します。
議論
これは便利なメソッドです。それは NSLinguisticTagger のインスタンスを作成するのと同等であり、受信者を文字列として分析されるように指定し、正書法(または nil)、次いで NSLinguisticTagger メソッドかまたは linguisticTagsInRange:scheme:options:orthography:tokenRanges: を呼び出します。
利用可能
OS X v10.7 以降で利用可能。
旧式
+ stringWithCString:
(OS X 10.4)与えられた C 文字列を使用して新しい文字列を作成します。
旧式の文
代わりに stringWithCString:encoding: を使用して下さい。
宣言
<< OBJECTIVE-C >>
+ (id)stringWithCString:(const char *)bytes
議論
CString は、デフォルトの C 文字列のコード化でのデータを含んでいる必要があります。stringWithCString: に渡された引数がゼロで終わる C 文字列でなければ、結果は未定義です。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– initWithCString:
(OS X 10.4)与えられた C 文字列内のデータをデフォルトの C 文字列コード化から Unicode 文字のコード化に変換することにより、受信者、新しく割り当てられた NSString のオブジェクトを、初期化します。
旧式の文
代わりに initWithCString:encoding: を使って下さい。宣言
<< OBJECTIVE-C >>
– (id)initWithCString:(const char *)bytes
議論
cString は、デフォルトの C 文字列のコード化ではゼロで終わる C 文字列である必要があり、かつ NULL であってはならない。元の受信者と異なる場合がある、初期化されたオブジェクトを返します。
不変(immutable) の C 文字列バッファから不変の文字列を作成するには、このメソッドを使用しないでください。代わりに、initWithCStringNoCopy:length:freeWhenDone: を使って下さい。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
+ stringWithCString:length:
(OS X 10.4)与えられた C 文字列の文字を含む文字列を返します。
旧式の文
代わりに stringWithCString:encoding: を使って下さい。
宣言
<< OBJECTIVE-C >>
+ (id)stringWithCString:(const char *)bytes length:(NSUInteger)length
議論
CString は NULL であってはなりません。cString は、デフォルトの C 文字列のコード化の文字を含む必要があります。このメソッドは、cString から length * sizeof(char) バイト変換し、NULL 文字では短く停止しません。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
initWithCString:length:
(OS X 10.4)与えられた C 文字列内のデータを、デフォルトの C 文字列コード化から Unicode 文字コード化に変換することにより、受信者、新しく割り当てられた NSString オブジェクトを、初期化します。
旧式の文
代わりに initWithBytes:length:encoding: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (id)initWithCString:(const char *)bytes length:(NSUInteger)length
議論
このメソッドは、length * sizeof(char) バイトを cString から変換し、ゼロの文字で短く停止しません。CString は、デフォルトの C 文字列コード化のバイトを含む必要があり、NULL であってはいけません。初期化されたオブジェクトを返し、元の受信者と異なる場合があります。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
initWithCStringNoCopy:length:freeWhenDone:
(OS X 10.4)与えられた C 文字列内のデータを、デフォルトの C 文字列コード化から Unicode 文字コード化に変換することにより、受信者、新しく割り当てられた NSString オブジェクトを、初期化します。
旧式の文
代わりに initWithBytesNoCopy:length:encoding:freeWhenDone: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (id)initWithCStringNoCopy:(char *)bytes length:(NSUInteger)length freeWhenDone:(BOOL)freeBuffer
議論
このメソッドは、length * sizeof(char) バイトを cString から変換し、ゼロの文字で短く停止しません。CString は、デフォルトの C 文字列コード化のデータを含む必要があり、NULL であってはいけません。受信者は、cString の所有者になります。flag が YES の場合、それはもはや必要としないメモリを解放しますが、flag が NO であれば、しません。初期化されたオブジェクトを返し、元の受信者と異なる場合があります。
不変(const char*) の C 文字列バッファから不変の文字列を作成するのに、このメソッドを使えます。警告メッセージが表示された場合、それを無視して下さい。その目的は、メソッドの最初の引数として渡された C 文字列が修正されうることを警告することです。initWithStringNoCopy に freeWhenDone 引数に渡したのが NO と確信でき、メソッドの最初の引数として渡された C 文字列が修正されなければ、不変の(const char *) C 文字列バッファから、不変の文字列を作成するには initWithStringNoCopy を安全に使えます。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
+ stringWithContentsOfFile:
(OS X 10.4)与えられたパスで名付けられたファイルからデータを読み取ることによって作成された文字列を返します。
旧式の文
代わりに stringWithContentsOfFile:encoding:error: または stringWithContentsOfFile:usedEncoding:error: を使用して下さい。
宣言
<< OBJECTIVE-C >>
+ (id)stringWithContentsOfFile:(NSString *)path
議論
内容が、Unicode バイト順マークで始まっている場合(U+FEFF や U+FFFE) は、UTF-16 コードユニットとして内容を解釈します。内容が、UTF 8 バイト順マーク(EFBBBF) で始まっている場合は、UTF-8 として内容を解釈します。そうでない場合は、デフォルトの C 文字列コード化としてデータの内容を解釈します。デフォルトの C 文字列のコード化は、ユーザーの構成によって異なりますので、Unicode または UTF-8 を使用していない場合は、このメソッドに依存しないで、デフォルトの C 文字列のコード化を確認することができます。ファイルを開くことができない場合、nil を返します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
+ stringWithContentsOfFile:encoding:error:
+ stringWithContentsOfFile:usedEncoding:error:
– initWithContentsOfFile:
(OS X 10.4)path で名付けられたファイルからデータを読み出すことにより、受信者、新しく割り当てられた NSString オブジェクトを、初期化します。
旧式の文
代わりに initWithContentsOfFile:encoding:error: または initWithContentsOfFile:usedEncoding:error: を使って下さい。
宣言
– (id)initWithContentsOfFile:(NSString *)path
議論
path で名付けられたファイルからデータを読み出すことにより、受信者、新しく割り当てられた NSString オブジェクトを、初期化します。内容がバイト順マーク(U+FEFF または U+FFFE) で始まっている場合は、Unicode 文字として内容を解釈し、それ以外の場合は、デフォルトの C 文字列のコード化のデータとして内容を解釈します。初期化したオブジェクトを返しますが、それは元の受信者とは異なっており、ファイルが開けなかった場合 nil を返します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– initWithContentsOfFile:encoding:error:
– initWithContentsOfFile:usedEncoding:error:
+ stringWithContentsOfURL:
(OS X 10.4)与えられた URL で名付けられたファイルからデータを読み取ることによって作成された文字列を返します。
旧式の文
代わりに stringWithContentsOfURL:encoding:error: または stringWithContentsOfURL:usedEncoding:error: を使用して下さい。
宣言
<< OBJECTIVE-C >>
+ (id)stringWithContentsOfURL:(NSURL *)aURL
議論
内容が、バイト順マーク(U+FEFF や U+FFFE) で始まっている場合は、UTF-16 コードユニットとして内容を解釈します。内容が、UTF-8 のバイト順マーク(EFBBBF) で始まっている場合は、UTF-8 として内容を解釈します。そうでない場合は、デフォルトの C 文字列コード化のデータとして内容を解釈します。デフォルトの C 文字列のコード化は、ユーザーの構成によって異なりますので、Unicode または UTF-8 を使用していない場合は、このメソッドに依存しないで、デフォルトの C 文字列のコード化を確認することができます。場所を開くことができない場合、nil を返します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
+ stringWithContentsOfURL:encoding:error:
+ stringWithContentsOfURL:usedEncoding:error:
– initWithContentsOfURL:
(OS X 10.4)与えられた URL で名付けられた位置からデータを読み出すことにより、受信者、新しく割り当てられた NSString オブジェクトを、初期化します。
旧式の文
代わりに initWithContentsOfURL:encoding:error: または initWithContentsOfURL:usedEncoding:error: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (id)initWithContentsOfURL:(NSURL *)url
議論
aURL によって名付けられた位置からデータを読み出すことにより、受信者、新しく割り当てられた NSString オブジェクトを初期化します。内容がバイト順マーク(U+FEFF または U+FFFE) で始まっている場合は、UTF-16 コードユニットとして内容を解釈し、それ以外の場合は、デフォルトの C 文字列のコード化のデータとして内容を解釈します。初期化したオブジェクトを返しますが、それは元の受信者とは異なっており、位置が開けなかった場合 nil を返します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– initWithContentsOfURL:encoding:error:
– initWithContentsOfURL:usedEncoding:error:
– writeToFile:atomically:
(OS X 10.4)与えられたパスで指定されたファイルに、受信者の内容を書き込みます。
旧式の文
代わりに writeToFile:atomically:encoding:error: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile
戻り値
ファイルが正常に書き込まれた場合 YES 、それ以外の場合 NO。
議論
path( path に既存のファイルがあればそれを上書き) で指定されたファイルに、受信者の内容を書き込みます。path は、可能ならデフォルトの C 文字列のコード化で書かれており(すなわち、何も情報が失われない場合)、それ以外の場合 Unicode のコード化で書かれています。
flag が YES である場合、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、path に変更されます。flag が NO である場合、受信者は、path に直接書き込まれます。 YES オプションは、path が完全に存在している場合、システムが書き込み中にクラッシュした場合でも、破壊されることはなく、その path を保証します。
path がチルダ(~)文字を含む場合は、このメソッドを呼び出す前に stringByExpandingTildeInPath でそれを展開する必要があります。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– writeToFile:atomically:encoding:error:
– writeToURL:atomically:
(OS X 10.4)与えられた URL で指定された場所に受信者の内容を書き込みます。
旧式の文
代わりに writeToURL:atomically:encoding:error: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically
戻り値
場所に正常に書き込まれている場合 YES、それ以外の場合 NO。
議論
atomically が YES の場合、受信者は、補助の場所に書き込まれ、その後、補助の場所の名前は aURL に変更されます。atomically が NO の場合、受信者は aURL に直接書き込まれます。YES オプションは、aURL がすべて存在する場合、システムが書き込み中にクラッシュした場合でも aURL は、破損されないことを保証します。
aURL がアトミックにアクセスすることができるタイプではない場合、atomically パラメータは無視されます。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– writeToURL:atomically:encoding:error:
– getCharacters:
(OS X 10.6)与えられたバッファに受信者からのすべての文字をコピーします。
旧式の文
このメソッドは、潜在的にバッファオーバーランを引き起こす可能性があるため安全ではありません。代わりに getCharacters:range: を使用して下さい。)
宣言
<< SWIFT >>
func getCharacters(_ buffer: UnsafeMutablePointer<unichar>) << OBJECTIVE-C >> – (void)getCharacters:(unichar *)buffer
パラメーター
buffer | 戻る時、受信者からの文字を含んでいます。buffer は、文字列内のすべての文字を含むのに十分な大きさでなければなりません([string length] * sizeof(unichar))。 |
議論
buffer と受信者の全範囲を範囲として getCharacters:range: を呼び出します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.6 で旧式となりました。
以下も見よ
– cString
(OS X 10.4)デフォルトの C 文字列のコード化の C 文字列として受信者の表現を返します。
旧式の文
代わりに cStringUsingEncoding: または UTF8String を使用して下さい。
宣言
<< OBJECTIVE-C >>
– (const char *)cString
議論
返された C 言語の文字列は、返されたオブジェクトが解放されるのと同じように自動的に解放されます。C 文字列が作成された自動解放コンテキストの外で C の文字列を格納する必要がある場合、あなたのコードは C の文字列をコピーするか getCString: を使用する必要があります。
受信者が情報を失わずに、デフォルトの C 文字列のコード化で表現できない場合、NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列コード化に変換できるかどうかを確認するために、必要に応じて canBeConvertedToEncoding: を使用して下さい。それが出来なければ、lossyCString または dataUsingEncoding:allowLossyConversion: を使用して、情報の一部を喪失した C 文字列表現を取得します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– getCString:maxLength:encoding:
– lossyCString
(OS X 10.4)デフォルトの C 文字列のコード化で C 文字列、おそらくそのコード化に変換する際に失う情報を受信者の表現として返します。
旧式の文
代わりに cStringUsingEncoding: または dataUsingEncoding:allowLossyConversion: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (const char *)lossyCString
議論
変換が損失の多い場合、このメソッドは例外を発生しません。返された C 文字列は自動的に開放され、返されたオブジェクトは解放されます。あなたのコードは C 文字列が作成された自動解放コンテキストの外で C 文字列を格納する必要がある場合 C 文字列をコピーしたり getCString: を使用する必要があります。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– dataUsingEncoding:allowLossyConversion:
– cStringLength
(OS X 10.4)デフォルトの C 文字列のコード化における受信者の C 文字列表現の char 型サイズの単位で長さを返します。
旧式の文
代わりに lengthOfBytesUsingEncoding: または maximumLengthOfBytesUsingEncoding: を使用して下さい。
宣言
<< OBJECTIVE-C >>
– (NSUInteger)cStringLength
議論
受信者が情報を失わずに、デフォルトの C 文字列のコード化で表現できない場合発生します。文字列が損失なくデフォルトの C 文字列コード化に変換できるかどうかを確認するために、canBeConvertedToEncoding: も使用できます。そう出来ない場合は、情報の一部を喪失して、C 言語の文字列表現を取得するために lossyCString を使用して、その後、ANSI 関数の strlen() を使って明示的にその長さを確認します。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– maximumLengthOfBytesUsingEncoding:
– getCString:
(OS X 10.4)NSMaximumStringLength を、最大の長さとして getCString:maxLength:range:remainingRange: を、残りの範囲を NULL として、受信者の全部の長さを範囲として呼び出します。
代わりに cStringUsingEncoding: か dataUsingEncoding:allowLossyConversion: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (void)getCString:(char *)buffer
議論
buffer は、結果の C 文字列と終端の NULL 文字を含むのに十分な大きさでなければなりません(NULL は、このメソッドが加えます-[string cStringLength])。
受信者が情報を失わずに、デフォルトの C 文字列のコード化で表現できない場合 NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列のコード化に変換できるかどうかを確認する必要があれば、canBeConvertedToEncoding: を使って下さい。もし使用できなければ、lossyCString か、情報の一部を失った上で C 文字列を得る dataUsingEncoding:allowLossyConversion: を使って下さい。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– getCString:maxLength:encoding:
– getCString:maxLength:
(OS X 10.4)maxLength を char サイズ単位の最大の長さとして、受信者の全部の長さを範囲とし、残りの範囲を NULL として getCString:maxLength:range:remainingRange: を呼び出します。
旧式の文
代わりに getCString:maxLength:encoding: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (void)getCString:(char *)bytes maxLength:(NSUInteger)maxLength
議論
buffer は、maxLength の chars (文字)に終端ゼロの char(このメソッドが追加します) を加えた文字数を含む十分な大きさでなければなりません。
受信者が情報の損失なしに、デフォルトの C 文字列のコード化で表現できない場合 NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列のコード化に変換できるかどうかを確認する必要があれば、 canBeConvertedToEncoding: を使って下さい。もし使用できなければ、lossyCString または情報の一部を失った上で C 文字列を得る dataUsingEncoding:allowLossyConversion: を使って下さい。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– getCString:maxLength:encoding:
– getCString:maxLength:range:remainingRange:
(OS X 10.4)受信者の内容をデフォルトの C 文字列のコード化に変換して、与えられたバッファに格納します。
旧式の文
代わりに getCString:maxLength:encoding: を使って下さい。
宣言
<< OBJECTIVE-C >>
– (void)getCString:(char *)bytes maxLength:(NSUInteger)maxLength range:(NSRange)aRange remainingRange:(NSRangePointer)leftoverRange
議論
buffer は maxLength のバイトに加え終端のゼロ文字(このメソッドが追加します) を含十分な大きさでなければなりません。aRange からできるだけ多くの文字をコピーし、変換し、leftoverRange (それが nilでない場合) によって与えられた範囲に変換されていないものの範囲を格納します。aRange のいずれかの部分が文字列の終わりを超えて存在する場合には NSRangeException の例外が発生します。
受信者が情報を失わずに、デフォルトの C 文字列のコード化で表現できない場合 NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列のコード化に変換できるかどうかを確認する必要があれば、canBeConvertedToEncoding: を使って下さい。もし使用できなければ、lossyCString か、情報の一部を失った上で C 文字列を得る dataUsingEncoding:allowLossyConversion: を使って下さい。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.4 で旧式となりました。
以下も見よ
– getCString:maxLength:encoding:
– stringByAddingPercentEscapesUsingEncoding:
(OS X 10.11)与えられたコード化を使用して、正しい URL 文字列に受信者を変換するのに必要なパーセントエスケープを決定するための受信者の表現を返します。
旧式の文
代わりに stringByAddingPercentEncodingWithAllowedCharacters: を使用して下さい。
宣言
<< SWIFT >>
func stringByAddingPercentEscapesUsingEncoding(_ enc: UInt) -> String? << OBJECTIVE-C >> – (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
パラメーター
encoding | 返される文字列に使用するコード化。正しいコード化が不明な場合には、 NSUTF8StringEncoding を使用する必要があります。 |
戻り値
受信者を正しい URL 文字列に変換するのに必要なパーセントエスケープを決定するために、encoding を使用しての受信機の表現。特定の文字を encoding がコード化できない場合は nil を返します。
議論
シーケンスが予測不可能で、エスケープされていない、または部分的にエスケープされた URL 文字列を"クリーンアップ" するために、この関数を使用することは困難です。詳細については、 CFURLCreateStringByAddingPercentEscapes を参照してください。
利用可能
OS X v10.0 以降で利用可能。
OS X v10.11 で旧式となりました。
以下も見よ
– stringByAddingPercentEncodingWithAllowedCharacters:
– stringByReplacingPercentEscapesUsingEncoding:
– stringByRemovingPercentEncoding
– stringByReplacingPercentEscapesUsingEncoding:
(OS X 10.11)受信者内のすべてのパーセントエスケープを、与えられたコード化によって決定される、一致する文字で置き換えて作成した新しい文字列を返します。
代わりに stringByRemovingPercentEncoding を使用して下さい。
宣言
<< SWIFT >>
func stringByReplacingPercentEscapesUsingEncoding(_ enc: UInt) -> String? << OBJECTIVE-C >> – (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
パラメーター
encoding | 返される文字列に使用するコード化。 |
戻り値
受信機のすべてのパーセントエスケープを与えられたコード化の encoding によって決定される、一致する文字で置き換えた新しい文字列。変換が不可能な場合、例えば、パーセントエスケープが encoding で合法ではないバイトシーケンスを与える場合、nil を返します。
議論
より複雑な変換については CFURLCreateStringByReplacingPercentEscapes を参照してください。
利用可能
OS X v10.3 以降で利用可能。
OS X v10.11 で旧式となりました。
以下も見よ
– stringByAddingPercentEncodingWithAllowedCharacters:
– stringByAddingPercentEscapesUsingEncoding:
– stringByRemovingPercentEncoding
– drawWithRect:options:attributes:
(OS X 10.11)現在のグラフィックスコンテキスト内の指定された長方形内に、与えられた属性の指定されたオプションやその他の表示特性で受信者を描画します。
宣言
<< SWIFT >>
func drawWithRect(_ rect: NSRect, options options: NSStringDrawingOptions, attributes attributes: [String : AnyObject]?) << OBJECTIVE-C >> – (void)drawWithRect:(NSRect)rect options:(NSStringDrawingOptions)options attributes:(NSDictionary<NSString *, id> *)attributes
パラメーター
rect | その中に文字列を描画すべき長方形。 |
options | 文字列描画オプション。 |
attributes | 文字列に適用されるべきテキスト属性の dictionary。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合は、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
議論
このメソッドは、単一の行、デフォルトではベースラインのレンダリングの構成で動作します。つまり、rect 引数の origin フィールドがレンダリングの原点を指定し、その点は、デフォルトでは、ベースラインの原点として解釈されます。文字列描画オプション NSStringDrawingUsesLineFragmentOrigin が指定された場合、origin は線に分解された長方形の左上隅と解釈され、このメソッドは、複数行の構成で動作します。
size フィールドは、テキストコンテナのサイズを指定します。サイズフィールドの width の部分は 0.0 より大きい場合は最大の線に分解された幅を指定します。heught が 0.0 より大きく NSStringDrawingUsesLineFragmentOrigin が指定されている場合、テキストで占有できる最大サイズを定義します。NSStringDrawingUsesLineFragmentOrigin が指定されていない場合、高さは無視され、シングルラインレンダリングと考えられます(NSLineBreakByWordWrapping と NSLineBreakByCharWrapping は NSLineBreakByClipping として扱われます)。
現在のグラフィックスコンテキストがある場合にのみ、このメソッドを呼び出す必要があります。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X v10.4 以降で利用可能。
OS X v10.11 で旧式となりました。
– boundingRectWithSize:options:attributes:
(OS X 10.11)現在のグラフィックスコンテキスト内の指定された長方形内の与えられたオプションと表示特性を使用して描かれた受信者のための境界の長方形を計算し、返します。
宣言
<< SWIFT >>
func boundingRectWithSize(_ size: NSSize, options options: NSStringDrawingOptions, attributes attributes: [String : AnyObject]?) -> NSRect << OBJECTIVE-C >> – (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary<NSString *, id> *)attributes
パラメーター
size | その中で描画すべき長方形のサイズ。 |
options | 文字列描画オプション。 |
attributes | 文字列に適用されるべきテキスト属性の dictionary。これらは、NSAttributedString オブジェクトに適用できるのと同じ属性ですが、NSString オブジェクトの場合は、属性は、文字列内の範囲よりも、文字列全体に適用されます。 |
戻り値
与えられたオプションと表示特性を使用して描画された受信者のための境界の長方形。このメソッドから返された長方形の原点は最初のグリフ(glyph) の原点です。
特別な考慮事項
このメソッドは、単一の行、デフォルトではベースラインレンダリングの構成で動作します。文字列描画オプション NSStringDrawingUsesLineFragmentOrigin が指定された場合は、このメソッドは、複数行の構成で動作します。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X v10.4 以降で利用可能。
OS X v10.11 で旧式となりました。
データ型
unichar
UTF-16 コードユニットの型。
宣言
<< SWIFT >>
typealias unichar = UInt16 << OBJECTIVE-C >> typedef unsigned short unichar;
Import 文
<< OBJECTIVE-C >>
@import Foundation;
<< SWIFT >>
import Foundation
利用可能
OS X v10.0 以降で利用可能。
定数
NSStringCompareOptions
これらの値は、文字列クラスの検索と比較メソッドの多くが利用できるオプションを表します。
宣言
<< SWIFT >>
struct NSStringCompareOptions : OptionSetType { init(rawValue rawValue: UInt) static var CaseInsensitiveSearch: NSStringCompareOptions { get } static var LiteralSearch: NSStringCompareOptions { get } static var BackwardsSearch: NSStringCompareOptions { get } static var AnchoredSearch: NSStringCompareOptions { get } static var NumericSearch: NSStringCompareOptions { get } static var DiacriticInsensitiveSearch: NSStringCompareOptions { get } static var WidthInsensitiveSearch: NSStringCompareOptions { get } static var ForcedOrderingSearch: NSStringCompareOptions { get } static var RegularExpressionSearch: NSStringCompareOptions { get } } << OBJECTIVE-C >> typedef enum NSStringCompareOptions : NSUInteger { NSCaseInsensitiveSearch = 1, NSLiteralSearch = 2, NSBackwardsSearch = 4, NSAnchoredSearch = 8, NSNumericSearch = 64, NSDiacriticInsensitiveSearch = 128, NSWidthInsensitiveSearch = 256, NSForcedOrderingSearch = 512, NSRegularExpressionSearch = 1024 } NSStringCompareOptions;
定数
- NSCaseInsensitiveSearch
- NSLiteralSearch
- NSBackwardsSearch
- NSAnchoredSearch
- NSNumericSearch
- NSDiacriticInsensitiveSearch
- NSWidthInsensitiveSearch
- NSForcedOrderingSearch
- NSRegularExpressionSearch
大文字と小文字を区別しない検索。
OS X v10.0 以降で利用可能。
正確な文字単位での同等。
OS X v10.0 以降で利用可能。
ソース文字列の末尾から検索します。
OS X v10.0 以降で利用可能。
検索は、ソースの文字列の開始(NSBackwardsSearch なら、終了) することが制限されています。
OS X v10.0 以降で利用可能。
文字列内の数値は、数値を、使用して比較されます。すなわち、Name2.txt<Name7.txt<Name25.txt です。
数値比較は文字列内の数値のみ、負の符号や小数点のような真の数に意味を持つことになる、他の文字ではなく数値にのみ適用されます。
このオプションは、検索ではなく、比較するメソッドにのみ適用されます。
OS X v10.3 以降で利用可能。
検索は、区別的発音符を無視します。
例えば、‘ö’ は 'o' に等しいです。
OS X v10.5 以降で利用可能。
東アジアの文字セットで起こるように、検索は、全角と半角の形を持つ文字の違いを無視します。
たとえば、このオプションを使用して、全角のラテンの小さな文字'a'(Unicode コードポイント U+ FF41) は、基本的なラテンの小文字 'a'(Unicode コードポイント U+0061) に等しいです。
OS X v10.5 以降で利用可能。
比較は文字列が等価だが厳密に等しくない場合 NSOrderedAscending または NSOrderedDescending のいずれかを返すことを余儀なくされています。
並べ替える場合、このオプションは、信頼性のある、再現性のある結果を保証します。例えば、NSCaseInsensitiveSearch が指定されている場合、例えば、"aaa" は "AAA" よりも大きいです。
OS X v10.5 以降で利用可能。
検索文字列は、ICU 互換の正規表現として扱われます。設定した場合、他のオプションは NSCaseInsensitiveSearch と NSAnchoredSearch を除いて他のオプションの適用はできません。rangeOfString:... メソッドと stringByReplacingOccurrencesOfString:withString:options:range: でのみこのオプションを使用できます。
OS X v10.7 以降で利用可能。
議論
これらのオプションの効果の詳細については、文字列の検索、比較、並べ替え を参照してください。
Import 文
<< OBJECTIVE-C >>
@import Foundation;
<< SWIFT >>
import Foundation
利用可能
OS X v10.5 以降で利用可能。
NSStringEncodingConversionOptions
文字列のコード化を変換するためのオプション。
宣言
<< SWIFT >>
struct NSStringEncodingConversionOptions : OptionSetType { init(rawValue rawValue: UInt) static var AllowLossy: NSStringEncodingConversionOptions { get } static var ExternalRepresentation: NSStringEncodingConversionOptions { get } } << OBJECTIVE-C >> typedef enum NSStringEncodingConversionOptions : NSUInteger { NSStringEncodingConversionAllowLossy = 1, NSStringEncodingConversionExternalRepresentation = 2 } NSStringEncodingConversionOptions;
定数
- NSStringEncodingConversionAllowLossy
- NSStringEncodingConversionExternalRepresentation
損失の多い変換を可能にします。
OS X v10.5 以降で利用可能。
外部表現を指定します(必要なら、バイト順マークと、エンディアンを示すために)。
OS X v10.5 以降で利用可能。
Import 文
<< OBJECTIVE-C >>
@import Foundation;
<< SWIFT >>
import Foundation
利用可能
OS X v10.5 以降で利用可能。
NSStringEncoding
以下の定数は可能な文字列のコード化として NSString によって提供されています。
宣言
<< OBJECTIVE-C >>
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 }; typedef NSUInteger NSStringEncoding;
宣言
- NSASCIIStringEncoding
- NSNEXTSTEPStringEncoding
- NSJapaneseEUCStringEncoding
- NSUTF8StringEncoding
- NSISOLatin1StringEncoding
- NSSymbolStringEncoding
- NSNonLossyASCIIStringEncoding
- NSShiftJISStringEncoding
- NSISOLatin2StringEncoding
- NSUnicodeStringEncoding
- NSWindowsCP1251StringEncoding
- NSWindowsCP1252StringEncoding
- NSWindowsCP1253StringEncoding
- NSWindowsCP1254StringEncoding
- NSWindowsCP1250StringEncoding
- NSISO2022JPStringEncoding
- NSMacOSRomanStringEncoding
- NSUTF16StringEncoding
- NSUTF16BigEndianStringEncoding
- NSUTF16LittleEndianStringEncoding
- NSUTF32StringEncoding
- NSUTF32BigEndianStringEncoding
- NSUTF32LittleEndianStringEncoding
- NSProprietaryStringEncoding
8 ビットの文字内の厳格な 7 ビット ASCII コード化。ASCII 値は 0...127 のみ。
OS X v10.0 以降で利用可能。
NEXTSTEP の拡張子を持つ 8 ビットの ASCII コード化。
OS X v10.0 以降で利用可能。
日本語テキストのための 8 ビットの EUC コード化。
OS X v10.0 以降で利用可能。
ASCII ベースのシステムによる送信や保存に適した Unicode 文字の 8 ビット表現。
OS X v10.0 以降で利用可能。
8 ビットの ISO Latin 1 コード化。
OS X v10.0 以降で利用可能。
8 ビットの Adobe シンボルコード化ベクトル。
OS X v10.0 以降で利用可能。
すべての Unicode 文字を表す 7 ビットの冗長な ASCII コード。
OS X v10.0 以降で利用可能。
日本語テキストのための 8 ビットのシフト JIS コード化。
OS X v10.0 以降で利用可能。
8 ビットの ISO Latin2 コード化。
OS X v10.0 以降で利用可能。
文字列オブジェクトの正規 Unicode コード化。
OS X v10.0 以降で利用可能。
Microsoft Windows コードページ 1251、キリル文字コード化。Adobe 標準キリル文字フォントのコード化に相当します。
OS X v10.0 以降で利用可能。
Microsoft Windows コードページ 1252。WinLatin1 に相当します。
OS X v10.0 以降で利用可能。
Microsoft Windows コードページ 1253。ギリシャ文字をコード化します。
OS X v10.0 以降で利用可能。
Microsoft Windows コードページ 1254。トルコ語の文字をコード化します。
OS X v10.0 以降で利用可能。
Microsoft Windows コードページ 1250。WinLatin2 に相当します。
OS X v10.0 以降で利用可能。
電子メール用の ISO2022 日本語コード化。
OS X v10.0 以降で利用可能。
クラシックなマッキントッシュのローマ字のコード化。
OS X v10.0 以降で利用可能。
NSUnicodeStringEncoding の別名(alias)。
OS X v10.5 以降で利用可能。
指定された明示的なエンディアンで NSUTF16StringEncoding でのコード化。
OS X v10.5 以降で利用可能。
指定された明示的なエンディアンで NSUTF16StringEncoding でのコード化。
OS X v10.5 以降で利用可能。
32 ビットの UTF コード化。
OS X v10.5 以降で利用可能。
指定された明示的なエンディアンで NSUTF32StringEncoding でのコード化。
OS X v10.5 以降で利用可能。
指定された明示的なエンディアンで NSUTF32StringEncoding でのコード化。
OS X v10.5 以降で利用可能。
インストール固有のコード化。
このコード化は旧式であり、置き換えのコード化はありません。
独自のコード化は、OS X v10.0 以降では使用されていません。代わりに、標準的なコード化を指定する必要があります。
OS X v10.7 以降で利用可能。
議論
これらの値は、NSString クラスでサポートされるさまざまな文字コード化を表します。これは不完全なリストです。追加のコード化は Core Foundation の文字列プログラミングガイド(CFStringEncodingExt.h を参照のこと) で定義されています。これらのコード化は、まず CFStringConvertEncodingToNSStringEncoding 関数に Core Foundation のコード化を渡すことによって NSString で使用することができます。
Import 文
<< OBJECTIVE-C >>
@import Foundation;
利用可能
OS X v10.0 以降で利用可能。
NSStringEnumerationOptions
部分文字列と列挙スタイルの種類を指定する定数。
宣言
<< SWIFT >>
struct NSStringEnumerationOptions : OptionSetType { init(rawValue rawValue: UInt) static var ByLines: NSStringEnumerationOptions { get } static var ByParagraphs: NSStringEnumerationOptions { get } static var ByComposedCharacterSequences: NSStringEnumerationOptions { get } static var ByWords: NSStringEnumerationOptions { get } static var BySentences: NSStringEnumerationOptions { get } static var Reverse: NSStringEnumerationOptions { get } static var SubstringNotRequired: NSStringEnumerationOptions { get } static var Localized: NSStringEnumerationOptions { get } } << OBJECTIVE-C >> typedef enum NSStringEnumerationOptions : NSUInteger { NSStringEnumerationByLines = 0, NSStringEnumerationByParagraphs = 1, NSStringEnumerationByComposedCharacterSequences = 2, NSStringEnumerationByWords = 3, NSStringEnumerationBySentences = 4, NSStringEnumerationReverse = 1UL << 8, NSStringEnumerationSubstringNotRequired = 1UL << 9, NSStringEnumerationLocalized = 1UL << 10 } NSStringEnumerationOptions;
定数
- NSStringEnumerationByLines
行で列挙します。lineRangeForRange: と同等です。
OS X v10.6 以降で利用可能。
- NSStringEnumerationByParagraphs
- NSStringEnumerationByComposedCharacterSequences
- NSStringEnumerationByWords
- NSStringEnumerationBySentences
- NSStringEnumerationReverse
- NSStringEnumerationSubstringNotRequired
- NSStringEnumerationLocalized
パラグラフ(段落) によって列挙します。paragraphRangeForRange: と同等です。
OS X v10.6 以降で利用可能。
構成された文字シーケンスによって列挙します。rangeOfComposedCharacterSequencesForRange: と同等です。
OS X v10.6 以降で利用可能。
単語で列挙します。
OS X v10.6 以降で利用可能。
文章によって列挙します。
OS X v10.6 以降で利用可能。
開始までの指定された範囲の最後から発生する列挙を生じさせます。
OS X v10.6 以降で利用可能。
ブロックは部分文字列を必要としない事を示す方法であり、この場合 nil が渡されます。これは、単にパフォーマンス上のショートカットです。
OS X v10.6 以降で利用可能。
現在のロケールを使用して発生する列挙を生じさせます。これは行、段落、あるいは合成された文字シーケンスの列挙に違いが出るわけではありませんが、単語や文章のためになります。
OS X v10.6 以降で利用可能。
議論
これらのオプションは、enumerateSubstringsInRange:options:usingBlock:メソッドと共に使われます。 NSStringEnumerationBy... オプションを一つ渡し、C 型ビット単位の OR 演算子を使用して残りの列挙スタイル定数のいずれかと組み合わせます。
Import 文
<< OBJECTIVE-C >>
@import Foundation;
<< SWIFT >>
import Foundation
利用可能
OS X v10.6 以降で利用可能。
NSStringDrawingOptions
以下の定数は、文字列が描画されるとき、そのためのレンダリングオプションとして提供されます。
宣言
<< SWIFT >>
struct NSStringDrawingOptions : OptionSetType { init(rawValue rawValue: Int) static var UsesLineFragmentOrigin: NSStringDrawingOptions { get } static var UsesFontLeading: NSStringDrawingOptions { get } static var UsesDeviceMetrics: NSStringDrawingOptions { get } static var TruncatesLastVisibleLine: NSStringDrawingOptions { get } static var DisableScreenFontSubstitution: NSStringDrawingOptions { get } static var OneShot: NSStringDrawingOptions { get } } << OBJECTIVE-C >> typedef enum NSStringDrawingOptions : NSInteger { NSStringDrawingUsesLineFragmentOrigin = (1 << 0), NSStringDrawingUsesFontLeading = (1 << 1), NSStringDrawingDisableScreenFontSubstitution = (1 << 2), NSStringDrawingUsesDeviceMetrics = (1 << 3), NSStringDrawingOneShot = (1 << 4), NSStringDrawingTruncatesLastVisibleLine = (1 << 5) } NSStringDrawingOptions;
定数
- NSStringDrawingUsesLineFragmentOrigin
- NSStringDrawingUsesFontLeading
- NSStringDrawingDisableScreenFontSubstitution
- NSStringDrawingUsesDeviceMetrics
- NSStringDrawingOneShot
- NSStringDrawingTruncatesLastVisibleLine
指定された原点は、ベースライン原点ではなく、行の断片の原点です。
OS X v10.0 以降で利用可能。
行の高さを計算するためフォントリーディングを使用します。
OS X v10.0 以降で利用可能。
スクリーンフォントの置換機能を無効にします([NSLayoutManager setUsesScreenFonts:NO] に相当します)。
OS X v10.0 以降で利用可能。
OS X v10.11 で旧式となりました。
タイポグラフィ境界の代わりに画像グリフの境界を使用します。
OS X v10.0 以降で利用可能。
レイアウト情報のキャッシュを抑止します。
OS X v10.0 以降で利用可能。
OS X v10.11 で旧式となりました。
テキストが指定した範囲に収まらない場合、最後の可視行に省略文字を切り捨て、追加します。
NSStringDrawingUsesLineFragmentOrigin も設定されていない場合、このオプションは無視されます。また、改行モードを有効にするには、このオプションの NSLineBreakByWordWrapping または NSLineBreakByCharWrapping のいずれかでなければなりません。改行モードは、描画メソッドの属性 dictionary 引数で渡された段落スタイルで指定できます。
OS X v10.5 以降で利用可能。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X v10.4 以降で利用可能。
NSTextAlignment
水平方向にテキストを整列させるためのオプション。
宣言
<< SWIFT >>
enum NSTextAlignment : UInt { case Left case Right case Center case Justified case Natural } << OBJECTIVE-C >> typedef enum NSTextAlignment : NSUInteger { NSTextAlignmentLeft = 0, NSTextAlignmentCenter = 1, NSTextAlignmentRight = 2, NSTextAlignmentJustified = 3, NSTextAlignmentNatural = 4, } NSTextAlignment;
定数
- NSTextAlignmentLeft
- NSTextAlignmentCenter
- NSTextAlignmentRight
- NSTextAlignmentJustified
- NSTextAlignmentNatural
左端に沿ってテキストを揃えます。
OS X v10.11 以降で利用可能。
中心線の両側に沿って均等にテキストを揃えます。
OS X v10.11 以降で利用可能。
右縁に沿ってテキストを揃えます。
OS X v10.11 以降で利用可能。
段落の最後の行が自然に整列するように、完全にテキストを揃えます。
OS X v10.11 以降で利用可能。
アプリの現在のローカル化に関連したデフォルトの配置を使用します。左から右へのスクリプトのデフォルトの配置は NSTextAlignmentLeft で、右から左へのスクリプトのデフォルトの配置は NSTextAlignmentRight です。
OS X v10.11 以降で利用可能。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X v10.0 以降で利用可能。
NSWritingDirection
使用する書字方向を指定するための定数。
宣言
<< SWIFT >>
enum NSWritingDirection : Int { case Natural case LeftToRight case RightToLeft } << OBJECTIVE-C >> typedef enum NSWritingDirection : NSInteger { NSWritingDirectionNatural = -1, NSWritingDirectionLeftToRight = 0, NSWritingDirectionRightToLeft = 1 } NSWritingDirection;
定数
- NSWritingDirectionNatural
- NSWritingDirectionLeftToRight
- NSWritingDirectionRightToLeft
使用する書字方向を決定するために Unicode Bidi アルゴリズムルール P2 と P3 を使用します。
OS X v10.4 以降で利用可能。
左から右への書字方向を使用します。
OS X v10.2 以降で利用可能。
右から左への書字方向を使用します。
OS X v10.2 以降で利用可能。
Import 文
<< OBJECTIVE-C >>
@import AppKit;
<< SWIFT >>
import AppKit
利用可能
OS X v10.2 以降で利用可能。
NSString 例外処理の名
これらの定数は、NSString が、与えられたコード化で文字列を表せないか、プロパティリストとして文字列を解析できない場合に発生した例外の名前を定義します。
宣言
<< SWIFT >>
let NSCharacterConversionException: String let NSParseErrorException: String << OBJECTIVE-C >> extern NSString *NSParseErrorException; extern NSString *NSCharacterConversionException;
定数
- NSCharacterConversionException
- NSParseErrorException
文字列がファイルシステムまたは文字列のコード化内で表現できない場合 NSString は、 NSCharacterConversionException の例外を発生させます。
OS X v10.0 以降で利用可能。
文字列がプロパティリストとして解析できない場合 NSString は、NSParseErrorException の例外を発生させます。
OS X v10.0 以降で利用可能。
文字列コード化検出オプション
以下の定数は、データオブジェクトから文字列コード化を検出する際に使用するため NSString によって提供されています。
宣言
<< SWIFT >>
let NSStringEncodingDetectionSuggestedEncodingsKey: String let NSStringEncodingDetectionDisallowedEncodingsKey: String let NSStringEncodingDetectionUseOnlySuggestedEncodingsKey: String let NSStringEncodingDetectionAllowLossyKey: String let NSStringEncodingDetectionFromWindowsKey: String let NSStringEncodingDetectionLossySubstitutionKey: String let NSStringEncodingDetectionLikelyLanguageKey: String << OBJECTIVE-C >> NSString * const NSStringEncodingDetectionSuggestedEncodingsKey; NSString * const NSStringEncodingDetectionDisallowedEncodingsKey; NSString * const NSStringEncodingDetectionUseOnlySuggestedEncodingsKey; NSString * const NSStringEncodingDetectionAllowLossyKey; NSString * const NSStringEncodingDetectionFromWindowsKey; NSString * const NSStringEncodingDetectionLossySubstitutionKey; NSString * const NSStringEncodingDetectionLikelyLanguageKey;
定数
- NSStringEncodingDetectionSuggestedEncodingsKey
- NSStringEncodingDetectionDisallowedEncodingsKey
- NSStringEncodingDetectionUseOnlySuggestedEncodingsKey
- NSStringEncodingDetectionAllowLossyKey
- NSStringEncodingDetectionFromWindowsKey
- NSStringEncodingDetectionLossySubstitutionKey
- NSStringEncodingDetectionLikelyLanguageKey
全ての示唆された文字列のコード化を指定するオプション。可能性が高いか予想されるコード化について予備知識を持っている場合に使用して下さい。このキーに対応する値は NSStringEncoding 値を含む、NSNumber オブジェクトの NSArray です。このオプションが指定されていない場合、すべての許可されたコード化が等しく考慮され評価されます。
OS X v10.10 以降で利用可能。
考慮されるべきでないすべての文字列コード化を指定するオプション。このキーに対応する値は NSStringEncoding 値を含む NSNumber オブジェクトの NSArray です。このオプションが指定されていない場合は、追加の文字列のコード化の削除は考慮されません。
OS X v10.10 以降で利用可能。
示唆された文字列のコード化のみを考慮するかどうかを指定するオプション。 NSStringEncodingDetectionSuggestedEncodingsKey に値を指定した場合のみ、これを使用して下さい。このキーに対応する値はブール値を含む NSNumber オブジェクトです。デフォルトでは、この値は、@(NO) です。
OS X v10.10 以降で利用可能。
文字列変換で損失を許可するかどうかを指定するオプション。このキーに対応する値はブール値を含む NSNumber オブジェクトです。もし @(NO) なら、損失のある文字列コード化を選択することがないでしょう。デフォルトでは、この値は、@(YES) です。
OS X v10.10 以降で利用可能。
Windows コードページ番号に対応する文字列のコード化を考慮するかどうかを指定するオプション。このキーに対応する値はブール値を含むする NSNumber オブジェクトです。@(YES) の場合、Windows 文字列のコード化が考慮から削除されます。デフォルトでは、この値は、@(NO) です。
OS X v10.10 以降で利用可能。
損失のあるコード化に変換する際に、すべてのサポートされていない文字の代わりに使用する文字列を指定します。@(NO) の値が NSStringEncodingDetectionAllowLossyKey に指定されている場合、このオプションは効果がありません。このキーに対応する値は、NSString オブジェクトです。デフォルトでは、この値は U+FFFD です。
OS X v10.10 以降で利用可能。
変換された文字列で可能性の高い 2 文字の ISO 639-1 言語コードを指定するオプション。変換後の文字列の予想される言語についての予備知識を持っている場合に使用して下さい。このキーに対応する値は、NSString オブジェクトです。値が指定されていない場合は、変換された文字列の言語は考慮されません。
OS X v10.10 以降で利用可能。
議論
stringEncodingForData:encodingOptions:convertedString:usedLossyConversion: メソッドに渡されるオプションのキーとしてこれらの定数は使用されます。
NSMaximumStringLength
NSString オブジェクト内の文字の最大数を定義する定数。
旧式です。 この定数は、OS X v10.5 以降では使用できません。
宣言
<< OBJECTIVE-C >>
#define NSMaximumStringLength (INT_MAX-1)
定数
- NSMaximumStringLength
NSString オブジェクト内の文字の最大数。
OS X v10.7 以降で利用できます。
利用可能
OS X v10.0 で利用可能。
OS X v10.5 で削除されました。
次:文書改定履歴