NSString


継承NSObject(class)

準拠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 を使用して下さい。



NSStringNSMutableString を使用して作成するオブジェクトは文字列オブジェクトと呼ばれます(または、混乱が生じなければ、単に文字列として呼ばれます)。用語の C 文字列は標準の char * 型を指します。クラスクラスタの性質のため、文字列オブジェクトは、NSStringNSMutableString クラスの実際のインスタンスではなく、それらの private サブクラスのインスタンスです。文字列オブジェクトのクラスは private ですが、これらの抽象スーパークラス、NSStringNSMutableString で宣言されているように、そのインターフェイスは、public です。文字列クラスは便利に、ある文字列を他の一種類の文字列に変換するように、NSCopyingNSMutableCopying プロトコルを採用しています。


文字を理解する


文字列オブジェクトは、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 の全てのサブクラスは、基本インスタンス・メソッドの lengthcharacterAtIndex: をオーバーライドしなければなりません。これらのメソッドは、文字列の文字を提供する補助記憶装置を操作しなければなりません。この補助記憶装置により、静的配列、動的に割り当てられたバッファ、標準の NSString オブジェクト、またはいくつかの他のデータ型やメカニズムを使用できます。また、部分的または完全に上書きするのを選び、代替実装を提供したい場合は、他の NSString メソッドを選択できます。例えば、パフォーマンス向上のために、速い実装を与え getCharacters:range: をオーバーライドすることをお勧めします。


サブクラスが管理している補助記憶装置に適したサブクラスのイニシャライザを実装したい場合があります。NSString クラスは、指定イニシャライザを持っていないので、イニシャライザは superinit メソッドだけを呼び出す必要があります。NSString クラスは、NSCopyingNSMutableCopying、および NSCoding プロトコルを採用しています。独自のカスタムサブクラスのインスタンスが必要な場合、コピーまたはコードから作成し、これらのプロトコルのメソッドをオーバーライドして下さい。


サブクラス化の代替


多くの場合、NSString のサブクラスを作るのに、より良い簡単な代替ーあるいは、クラスクラスタの任意の他の抽象クラス、public クラスのサブクラスを作成する、より良い方法は。これについて言えば、オブジェクトの構成です。これは特に、あなたの意図がサブクラスにメタデータを追加、または文字列オブジェクトに必須ではない他の属性を追加する場合です。オブジェクトの構成では、カスタムクラス(典型的には NSObject のサブクラス) の一つのインスタンス変数として、NSString オブジェクトを持ち、カスタムオブジェクトとして欲しいメタデータを格納する、1 つ以上のインスタンス変数として。それから、すぐ埋め込み文字列オブジェクトとメタデータ用のアクセッサメソッドを含むようにサブクラス·インタフェースを設計して下さい。


動作に、既存のクラスのものを補助する物を追加しようとする場合、NSString 上でカテゴリを書くことができます。このカテゴリは、使用する NSString のすべてのインスタンスに対して有効であることを覚えておきましょう。しかし、これは意図しない結果が生じる可能性もあります。


タスク


文字列の作成と初期化


+ string


空の文字列を返します。


<< OBJECTIVE-C >>

+ (instancetype)string


戻り値

空の文字列。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– init





– init 指名イニシャライザー


全く文字を含まない、初期化された NSString オブジェクトを返します。


宣言

<< SWIFT >>

init()

<< OBJECTIVE-C >>
– (instancetype)init


戻り値

全く文字を含まない、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ string





– 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


パラメーター

bytesencoding で指定されたコード化で解釈されたバイトのバッファ。
lengthbytes から使うべきバイトの数。
encodingbytes に適用される文字コード化。

戻り値

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


パラメーター

bytesencoding で指定されたコード化で解釈されたバイトのバッファ。
lengthbyte から使うべきバイトの数。
encodingbytes の文字コード。
flagYESなら、それがもはやデータを必要としないとき、受信者はメモリを free() で解放します。NO の場合はそうしません。

戻り値

encoding のコード化を使用して解釈された bytes からの長さ length のバイトを含む初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


特別な考慮事項

文字列の作成中にエラーが発生した場合は、flagYES であっても、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


パラメーター

charactersUTF-16コードユニットの C 言語の配列。値は NULL であってはなりません。

重要: length0 であっても、charactersNULL の場合例外が発生します。

lengthcharacters から使用するべき文字数。

戻り値

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


パラメーター

charactersUTF-16 コードユニットの C 言語の配列。
lengthcharacters から使用するべき文字数。
flagもし YES なら、それがもはやデータを必要としないとき、受信者は free() でメモリを解放します。NO の場合はそうしません。

戻り値

characters から length の長さの文字を含む、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


特別な考慮事項

文字列の作成中にエラーが発生した場合は、flagYES であっても、bytes は解放されません。この場合、呼び出し側が、バッファを解放する責任があります。これで、呼び出し元が割り当て解除されたバッファを持たずに、バッファを用いて文字列を作成しようとし続けることができます。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ stringWithCharacters:length:





– initWithString:


与えられた別の文字列から文字をコピーすることによって初期化された NSString オブジェクトを返します。


宣言

<< SWIFT >>

convenience init(string aString: String)

<< OBJECTIVE-C >>
– (instancetype)initWithString:(NSString *)aString


パラメータ

aStringそこから文字をコピーするべき文字列。この値は nil であってはなりません。


重要:aStringnil の場合 NSInvalidArgumentException の例外が発生します。



戻り値

aString から文字をコピーすることによって初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ stringWithString:





– 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 文字は許されません。
encodingnullTerminatedCString のコード化。

戻り値

nullTerminatedCString から文字を使用して、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


議論

nullTerminatedCStringNULL で終了する C 文字列でない場合、または encoding が実際のコード化と一致しない場合、結果は未定義です。


特別な考慮事項

UTF-16 のような大きな幅を持っているエンコーディングのような、C 言語の文字列の早期終結をもたらす単一ユニット内の NULL バイトを含むことができるように、8 ビットのコード化だけが、サポートされています。


利用可能

OS X v10.4 以降で利用可能。


以下も見よ

+ stringWithCString:

– initWithCStringNoCopy:length:freeWhenDone:

+ defaultCStringEncoding





– initWithUTF8String:


UTF-8 でコード化されたバイトの、与えられた C 言語の配列から文字をコピーすることによって初期化された NSString オブジェクトを返します。


宣言

<< SWIFT >>

convenience init?(UTF8String nullTerminatedCString: UnsafePointer<<nt8>)

<< OBJECTIVE-C >>
– (instancetype)initWithUTF8String:(const char *)bytes


パラメーター

bytesUTF-8 でコード化されたバイトの、NULL で終わる C 言語の配列。この値は NULL であってはなりません。


重要:bytesNULL の場合例外が発生します。



戻り値

bytes からバイトをコピーすることによって、初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ stringWithUTF8String:





– initWithFormat:


テンプレートとして与えられた書式文字列を使用して残りの引数の値が置換されている内に、それを使用して初期化された NSString オブジェクトを返します。


宣言

<< OBJECTIVE-C >>

– (instancetype)initWithFormat:(NSString *)format
, ...


パラメータ

format書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト" を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。


重要:formatnil の場合 NSInvalidArgumentException の例外が発生します。


...format に置換するべき、コンマ区切りの引数リスト。

戻り値

残りの引数の値が、システム·ロケールに従って置換されているテンプレートとしての format (形式) を使用して初期化された NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


議論

全くローカル化を適用せず、initWithFormat:locale:arguments: を呼び出します。例えば、ファイルに書き出し、後で戻って解析する必要がある"ローカライズしていない" 書式を作成したい場合などに便利です。ユーザーの現在のロケール用にローカライズされた文字列を作成するには、クラスメソッド localizedStringWithFormat: を使用するか initWithFormat:locale:initWithFormat:locale:arguments: を使用し、ロケールとして [NSLocale currentLocale] を渡します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ stringWithFormat:

– 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 であってはなりません。


重要: formatnil の場合 NSInvalidArgumentException の例外が発生します。


argListformat に置換するべき引数のリスト。

戻り値

argList 内の値が現在のロケールに応じて置換されているテンプレートとしての format を使用して、初期化した NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。


議論

initWithFormat:locale:arguments:を、ローカル化無しで呼び出します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ stringWithFormat:





– initWithFormat:locale:


残りの引数値が与えられたロケールに応じて置換されている内に、テンプレートとして与えられた書式文字列を使用して、初期化した NSString オブジェクトを返します。


宣言

<< OBJECTIVE-C >>

– (instancetype)initWithFormat:(NSString *)format
                        locale:(id)locale


パラメーター

format書式文字列。このメソッドを使用する方法の例については、"書式文字列オブジェクト"を参照し、また書式指定子の一覧については、"文字列書式指定子" を参照してください。この値は nil であってはなりません。


重要:formatnil の場合 NSInvalidArgumentException の例外が発生します。


locale使用するロケールを指定する NSLocale オブジェクト。現在のロケールを使用するには、[NSLocale currentLocale] を渡します。システムロケールを使用するには、nil を渡します。
レガシーサポートのため、これはロケール情報を含む NSDictionary のインスタンスです。
...format に置換するべきコンマ区切りの引数リスト。

議論

initWithFormat:locale:arguments: を、ロケールを locale にして呼び出します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ localizedStringWithFormat:





– 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 であってはなりません。


重要:formatnil の場合 NSInvalidArgumentException の例外を発生させます。


locale使用するロケールを指定する NSLocale オブジェクト。現在のロケールを使用するには、[NSLocale currentLocale] を渡します。システムロケールを使用するには、nil を渡します。
レガシーサポートのため、これはロケール情報を含む NSDictionary のインスタンスです。
argListformat に置換するべき引数のリスト。

戻り値

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


パラメーター

dataencoding とデフォルトのプレーンテキスト形式を、そのコード化のため(すなわち、属性のない、他のマークアップのない、純粋なコンテンツ) 内にバイトを含む NSData オブジェクト。
encodingdata が使用するコード化。

戻り値

encoding を使用して UTF-16 コードユニットに data のバイトを変換することで初期化した NSString オブジェクト。返されるオブジェクトは、元の受信者と異なる場合があります。初期化が何らかの理由(例えば、dataencoding のための有効なデータを表していない場合) のために失敗した場合、 nil を返します。


利用可能

OS X v10.0 以降で利用可能。





+ stringWithFormat:


残りの引数値が置換されている中に、テンプレートとして与えられた書式文字列を使用して作成した文字列を返します。


宣言

<< OBJECTIVE-C >>

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


パラメータ

format書式文字列。このメソッドを使用する方法の例については、書式文字列オブジェクト、および書式指定子の一覧については、文字列書式指定子 を参照してください。この値は nil であってはなりません。


重要:formatnil の場合、NSInvalidArgumentException の例外が発生します。


...format に置換すべきコンマ区切りの引数リスト。

戻り値

残りの引数値が、全くロケール無しに置換されているテンプレートとしての書式を使用して作成された文字列。


議論

このメソッドは、ローカル化無しの localizedStringWithFormat: に似ています。例えば、ファイルに書き出され、後で解析する必要があるローカライズ化しない書式を作成したい場合などに便利です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– initWithFormat:

+ localizedStringWithFormat:





+ localizedStringWithFormat:


残りの引数値が現在のロケールに応じて置換されている中に、テンプレートとして与えられた書式文字列を使用して作成した文字列を返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)localizedStringWithFormat:(NSString *)format
, ...


パラメータ

format書式文字列。このメソッドを使用する方法の例については、書式文字列オブジェクト、また書式指定子の一覧については、文字列書式指定子 を参照してください。この値は nil であってはなりません。

formatnil の場合 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 以降で利用可能。


以下も見よ

+ stringWithFormat:

– initWithFormat:locale:





+ stringWithCharacters:length:


与えられた UTF-16 コードユニットの C 言語の配列から取られた、与えられた数の文字数を含む文字列を返します。


宣言

<< OBJECTIVE-C >>

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


パラメータ

charsUTF-16 コードユニットの C 言語の配列。値が NULL であってはなりません。



重要:長さが 0 であっても、charsNULL の場合には例外が発生します。


lengthchars から使用するべき文字数。

戻り値

chars から取られた(最初から始まる) length (長さ)の UTF-16 コードユニット。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– initWithCharacters:length:





+ stringWithString:


別の与えられた文字列から文字をコピーして作成した文字列を返します。


宣言

<< OBJECTIVE-C >>

+ (instancetype)stringWithString:(NSString *)aString


パラメータ

aStringそこから文字をコピーするべき文字列。この値は nil であってはなりません。


重要:aStringnil の場合、NSInvalidArgumentException の例外が発生します。



戻り値

aString から文字をコピーすることによって作成された文字列。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– initWithString:





+ stringWithCString:encoding:


与えられたコード化に従って解釈された、与えられた C 言語の配列内のバイトを含む文字列を返します。


宣言

<< OBJECTIVE-C >>

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


パラメータ

cStringバイトの C 言語の配列。配列は NULL バイトで終了する必要があります。中間の NULL バイトは許されません。
enccString のコード化。

戻り値

CString の中に記載された文字を含む文字列。


議論

CStringNULL で終了する C 文字列でない場合、または encoding が実際のコード化と一致しない場合、結果は未定義です。


特別な考慮事項

UTF-16 のような大きな幅を持っているコード化は、C 文字列の早期終結をもたらす単一ユニット内の NULL バイトを含むことができるように、8 ビットのコード化だけが、サポートされています。


利用可能

OS X v10.4 以降で利用可能。


以下も見よ

– initWithCString:encoding:





+ stringWithUTF8String:


UTF-8 でコード化されたバイトの、与えられた C 言語の配列からデータをコピーすることによって作成された文字列を返します。


宣言

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


パラメータ

bytesUTF8 でコード化されたバイトの、NULL で終わる C 言語の配列。


重要:bytesNULL の場合、例外が発生します。



戻り値

bytes からデータをコピーすることによって作成された文字列。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– initWithString:





ファイルから文字列を作成し初期化


+ stringWithContentsOfFile:encoding:error:


与えられたコード化を使用して解釈された、与えられたパスにあるファイルからデータを読み取ることによって作成された文字列を返します。


宣言

<< OBJECTIVE-C >>

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


パラメータ

pathファイルへのパス。
encpath にある、ファイルのコード化。
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ファイルへのパス。
encpath におけるファイルのコード化。
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。
encurl にあるデータのコード化。
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。
encpath にあるファイルのコード化。
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 でそれを展開しなければなりません。
useAuxiliaryFileYES なら、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、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 のみがサポートされています。
useAuxiliaryFileYES なら、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、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 以降で利用可能。


以下も見よ

– lengthOfBytesUsingEncoding:

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:

– length





– maximumLengthOfBytesUsingEncoding:


与えられたコード化で受信者を保存するために必要な最大バイト数を返します。


宣言

<< SWIFT >>

func maximumLengthOfBytesUsingEncoding(_ enc: UInt) -> Int

<< OBJECTIVE-C >>
– (NSUInteger)maximumLengthOfBytesUsingEncoding:(NSStringEncoding)enc


パラメータ

enc受信者の長さを決定するためのコード化。

戻り値

外部表現でなく encoding された受信者を保存するために必要な最大バイト数。長さは、最後の NULL 文字のためのスペースを含みません。コード化変換の結果を保存するために必要なメモリの量が NSIntegerMax を超える場合は 0 を返します。


議論

その結果は推定値であり、O(1) 回目に返され、推定値は、実際の長さが必要とされるよりもかなり大きくてもよい。


利用可能

OS X v10.4 以降で利用可能。


以下も見よ

– lengthOfBytesUsingEncoding:

– length





文字とバイトを得る


– 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:





– 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 で終っていません
maxBufferCountbuffer に書き込むための最大バイト数。
usedBufferCountbuffer から使用されるバイト数。この値を必要としない場合は 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 文字列のコード化ではないと考えられており、このメソッドでは使うべきではありません。NSUTF16StringEncodingNSUTF32StringEncoding、またはそれらのバリアントのいずれかを渡した結果は未定義です。


利用可能

OS X v10.4 以降で利用可能。

以下も見よ

– getCString:

– canBeConvertedToEncoding:

+ defaultCStringEncoding

– cStringLength

– 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 以降で利用可能。


以下も見よ

– cStringUsingEncoding:

– canBeConvertedToEncoding:

– UTF8String





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:

– compare:options:





– 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 以降で利用可能。


以下も見よ

– localizedCompare:

– localizedCaseInsensitiveCompare:

– compare:options:

– caseInsensitiveCompare:

– isEqualToString:





– 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検索のためのオプション。NSCaseInsensitiveSearchNSLiteralSearch,NSNumericSearch を、C のビット単位の OR 演算子を使って以下のように組み合わせることができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。

戻り値

compare:options:range: をオプションの与えられたマスクで、受信者を範囲いっぱいな状態で呼び出した時の結果。


議論

エンドユーザーに提示する文字列を比較する場合には、一般的に localizedCompare:localizedCaseInsensitiveCompare: を代わりに使用するか、compare:options:range:locale: を使い、ユーザーのロケールを渡す必要があります。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– localizedCompare:

– localizedCaseInsensitiveCompare:

– compare:options:range:locale:

– caseInsensitiveCompare:

– isEqualToString:





– 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


パラメーター

aStringrange で指定された受信者の範囲と比較すべき文字列。

この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。
mask検索のためのオプションであり、NSCaseInsensitiveSearchNSLiteralSearchNSNumericSearch を C 型ビット単位の OR 演算子を使って組み合わせることができます。
これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。
range比較を実行するべき受信機の範囲。範囲は、受信機の限界を超えてはなりません。


重要:rangeが、受信者の限界を超えた場合には NSRangeException の例外が発生します。



戻り値

nil のロケールで、compare:options:range:locale: を呼び出した結果。


議論

エンドユーザに提示する文字列を比較する場合、compare:options:range:locale: を代わりに使い、現在のロケールを渡します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– localizedCompare:

– localizedCaseInsensitiveCompare:

– compare:options:

– caseInsensitiveCompare:

– isEqualToString:





– 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


パラメーター

aStringrange で指定された受信者の範囲と比較した文字列。

この値は nil であってはなりません。この値が nil の場合、動作は未定義であり、OS X の将来のバージョンで変更される可能性があります。
mask検索のためのオプションであり、NSCaseInsensitiveSearchNSLiteralSearchNSNumericSearch を C 型のビット単位の OR 演算子を使って組み合わせることができます。

これらのオプションの詳細については文字列プログラミング·ガイド を参照してください。
range比較を実行するべき受信者の範囲。範囲は、受信者の限界を超えてはなりません。


重要:rangeが、受信者の限界を超えた場合は NSRangeException の例外が発生します。


localeNSLocale のインスタンス。現在のロケールを使用するには、[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 以降で利用可能。


以下も見よ

– localizedCompare:

– localizedCaseInsensitiveCompare:

– caseInsensitiveCompare:

– compare:

– compare:options:

– compare:options:range:

– isEqualToString:





– 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。それ以外の場合 NOaString が空の場合、NO を返します。


議論

このメソッドは、NSAnchoredSearch オプションを使用して文字列を比較するためには便利です。詳細については、文字列のプログラミング·ガイド を参照してください。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– hasSuffix:

– compare:options:range:





– hasSuffix:


与えられた文字列が、受信者の終了文字列と一致するかどうかを示すブール値を返します。


宣言

<< SWIFT >>

func hasSuffix(_ str: String) -> Bool

<< OBJECTIVE-C >>
– (BOOL)hasSuffix:(NSString *)aString


パラメーター

aString文字列。

戻り値

aString が、受信者の終わりの文字列と一致した場合、YES。それ以外の場合 NOaString が空の場合、NO を返します。


議論

このメソッドは、NSAnchoredSearchNSBackwardsSearch オプションを使用して文字列を比較するためには便利です。詳細については、文字列のプログラミング·ガイド を参照してください。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– hasPrefix:

– compare:options:range:





– 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 以降で利用可能。


以下も見よ

– compare:options:range:





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 であってはなりません。


重要: formatnil の場合 NSInvalidArgumentException の例外が発生します。


...format に置換すべき、コンマ区切りの引数リスト。

戻り値

stringWithFormat: の方法で、受信者に format と続く引数から構成された文字列を付加する事によって作られた文字列。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– stringByAppendingString:





– stringByAppendingString:


受信者に与えられた文字列を付加することによって作られた新しい文字列を返します。


宣言

<< SWIFT >>

func stringByAppendingString(_ aString: String) -> String

<< OBJECTIVE-C >>
– (NSString *)stringByAppendingString:(NSString *)aString


パラメーター

aString 受信機に付加すべき文字列。この値は nil であってはなりません。


重要: aStringnil の場合 NSInvalidArgumentException の例外が発生します。



戻り値

受信者に aString を付加して作られた新しい文字列。


議論

例えば次の抜粋コードは:


  1. NSString *errorTag = @"Error: ";
  2. NSString *errorString = @"premature end of file.";
  3. NSString *errorMessage = [errorTag stringByAppendingString:errorString];

“Error: premature end of file.” という文字列を生成します。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– stringByAppendingFormat:





– 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 を多く付加することによって、受信者から形成された新しい文字列。


議論

ここでは使い方の例をいくつか示します。


  1. [@"abc" stringByPaddingToLength: 9 withString: @"." startingAtIndex:0];
  2.         // Results in "abc......"
  3. [@"abc" stringByPaddingToLength: 2 withString: @"." startingAtIndex:0];
  4.         // Results in "ab"
  5. [@"abc" stringByPaddingToLength: 9 withString: @". " startingAtIndex:1];
  6.         // Results in "abc . . ."
  7.         // 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 オブジェクト。


議論

配列内の部分文字列は、それらが、受信者で表示された順に表示されます。区切り文字列が近くに出現するのは、空の文字列を結果に生成します。同様に、セパレータで文字列が始まるか、終了する場合も、最初または最後の部分文字列は、それぞれ、空になっています。たとえば、以下の抜粋コードでは:


  1. NSString *list = @"Karin, Carrie, David";
  2. NSArray *listItems = [list componentsSeparatedByString:@", "];

{ @"Karin", @"Carrie", @"David"" } の配列を生成します。


もし list がカンマと空白で始まるならー例えば、 @", Norman, Stanley, Fletcher"なら、配列は以下のような内容になります。{ @"", @"Norman", @"Stanley", @"Fletcher" }


もし list にセパレータがなければ、例えばー"Karin" なら、配列は文字列自身を含んでいます、この場合 { @"Karin" }


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

componentsJoinedByString:(NSArray)

– pathComponents





– 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受信者から削除するべき文字を含む文字セット。setnil であってはなりません。

戻り値

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:

– substringToIndex:





– 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 以降で利用可能。


以下も見よ

– substringFromIndex:

– substringToIndex:





– 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 以降で利用可能。


以下も見よ

– substringFromIndex:

– substringWithRange:





文字と部分文字列の検索


– 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 であってはなりません。

aSetnil の場合 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 であってはなりません。

aSetnil の場合 NSInvalidArgumentException の例外が発生します。
mask検索オプションを指定するマスク。以下のオプションは、C 言語のビット単位の OR 演算子と組み合わせることによって指定できます:NSAnchoredSearchNSBackwardsSearch

戻り値

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 であってはなりません。

aSetnil の場合 NSInvalidArgumentException の例外が発生します。
mask検索オプションを指定するマスク。以下のオプションは、C 言語のビット単位の OR 演算子と組み合わせることによって指定できます:NSAnchoredSearchNSBackwardsSearch
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 であってはなりません。

aStringnil の場合 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 であってはなりません。


重要: aStringnil の場合 NSInvalidArgumentException の例外が発生します。


mask検索オプションを指定するマスク。 NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearchNSAnchoredSearch のオプションから、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 であってはなりません。

aStringnil の場合 NSInvalidArgumentException の例外が発生します。
mask検索オプションを指定するマスク。NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearch、および NSAnchoredSearch のオプションを、C のビット単位の OR 演算子で組み合わせて指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。
aRangeaString を検索するべき受信者内の範囲。

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 であってはなりません。

aStringnil の場合 NSInvalidArgumentException の例外が発生します。
mask検索オプションを指定するマスク。 NSCaseInsensitiveSearchNSLiteralSearchNSBackwardsSearch、および NSAnchoredSearch のオプションを、C のビット単位の OR 演算子で組み合わせて指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。
aRangeその中で aString を検索するべき受信者内の範囲。

aRange が無効な場合 NSRangeException の例外が発生します。
localeaString と受信者を比較する際に使うロケール。現在のロケールを使用するには、[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置き換えるべき文字列。
replacementtarget を交換すべき文字列。

戻り値

受信者での 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置換すべき文字列。
replacementtarget を置き換えるべき文字列。
options受信者と target を比較するときに使うオプションのマスク。何もオプションを指定しない場合は、0 を渡します。
searchRangetarget を検索する、受信者での範囲。

戻り値

受信者の 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受信者での文字の範囲。
replacementrange 内の文字を置き換えるべき文字列。

戻り値

受信者の 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 の例外が発生します。

議論

行はこれらの文字によって区切られ、可能な限り長いシーケンスは、任意のより短い物より好まれています:


aRange が1行で含まれている場合は、もちろん、返されるインデックスはすべて、その行に属します。範囲の長さとして初めのインデックスと終わりのインデックスとの違いと範囲の位置の初めのインデックスを利用して行の範囲を構築するために、このメソッドの結果を使用できます。


特別な考慮事項

このメソッドは、すべての無効な範囲を検出します(負の長さを含みます)。OS X v10.6 以降とリンクしているアプリの場合、このエラーは、例外が発生します。以前のリリースとリンクしているアプリの場合、このエラーは、アプリの実行ごとに一度だけ表示される警告を引き起こします。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– lineRangeForRange:

– substringWithRange:





– lineRangeForRange:


行を表す文字の範囲または与えられた範囲を含む行を返します。


宣言

<< SWIFT >>

func lineRangeForRange(_ range: NSRange) -> NSRange

<< OBJECTIVE-C >>NSRange)lineRangeForRange:(NSRange)aRange


パラメーター

aRange受信者内の範囲。値は、受信者の限界を超えてはなりません。

戻り値

行の終端文字を含む aRange を含む行を表す文字の範囲。行末の議論は、 getLineStart:end:contentsEnd:forRange: を参照してください。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– paragraphRangeForRange:

– getLineStart:end:contentsEnd:forRange:

– substringWithRange:





– 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:





– paragraphRangeForRange:


段落を表す文字の範囲または与えられた範囲を含む段落の範囲を返します。


宣言

<< SWIFT >>

func paragraphRangeForRange(_ range: NSRange) -> NSRange

<< OBJECTIVE-C >>
– (NSRange)paragraphRangeForRange:(NSRange)aRange


パラメーター

aRange受信者内の範囲。範囲は、受信者の限界を超えてはなりません。

戻り値

段落、または aRange を含む段落、段落の終末文字を含む段落を表す文字の範囲。


利用可能

OS X v10.3 以降で利用可能。


以下も見よ

– getParagraphStart:end:contentsEnd:forRange:

– lineRangeForRange:





合成文字シーケンスの決定


– 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

+ stringWithContentsOfFile:





– propertyListFromStringsFileFormat


受信者で見つかったキー値で初期化された dictionary オブジェクトを返します。


宣言

<< SWIFT >>

func propertyListFromStringsFileFormat() -> [NSObject : AnyObject]?

<< OBJECTIVE-C >>
– (NSDictionary *)propertyListFromStringsFileFormat


戻り値

受信機で見つかったキー値で初期化された dictionay オブジェクト。


議論

受信者は、.strings ファイル用に使用される形式のテキストを含んでいなければなりません。この形式では、キーと値は等号で区切られ、各キー値のペアはセミコロンで終了します。値は、オプションで、なければ、等号も省略されています。キーと値自体は、常に二重引用符で囲まれた文字列です。/**/ の、ANSI C のコメントのように区切られるコメントも、含まれていてもよいです。以下に、文字列ファイルの簡単な例を示します。


  1. /* Question in confirmation panel for quitting. */
  2. "Confirm Quit" = "Are you sure you want to quit?";
  3. /* Message when user tries to close unsaved document */
  4. "Close or Save" = "Save changes before closing?";
  5. /* Word for Cancel */
  6. "Cancel";


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– propertyList

+ stringWithContentsOfFile:




文字列の描画


– 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 を渡します。


このメソッドは、(返された CGRectsize コンポーネントの) 分数のサイズを返します。ビューの大きさを調整するのに、返されたサイズを使用するには、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比較のためのオプション。NSCaseInsensitiveSearchNSLiteralSearch の検索オプションは、C のビット単位の OR 演算子と組み合わせることによって指定することができます。これらのオプションの詳細については 文字列プログラミング·ガイド を参照してください。

戻り値

受信者と aString は等価ではない最初の文字までの各々の先頭から、共通している文字を含む文字列。


議論

返された文字列は、受信者の文字に基づいています。例えば、受信者が "Ma¨dchen" で、aString が "Mädchenschule" である場合、返される文字列は "Ma¨dchen" であり、"Mädchen" ではありません。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– hasPrefix:





大文字小文字の変更


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 以降で利用可能。


以下も見よ

capitalizedString





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 以降で利用可能。


以下も見よ

– lowercaseString

uppercaseString

– uppercaseStringWithLocale:





uppercaseString プロパティ


文字列の大文字表現。(読み取り専用)


宣言

<< SWIFT >>

var uppercaseString: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *uppercaseString


議論

大文字変換は対称的であることも、オリジナルと同じ長さの文字列を生成することも保証されていません。 lowercaseString で例を参照してください。



注意:このプロパティは、正規の(ローカライズされない) マッピングを行います。これは、現在のロケールに依存しない安定した結果を必要とするプログラミング操作に適しています。ユーザーに表示される文字列のローカライズされたケースマッピングについては、uppercaseStringWithLocale: を使用して下さい。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

lowercaseString

– lowercaseStringWithLocale:

– uppercaseStringWithLocale:





– uppercaseStringWithLocale:


指定されたロケールを考慮に入れ、すべての文字を大文字に変換した、文字列のバージョンを返します。


宣言

<< SWIFT >>

func uppercaseStringWithLocale(_ locale: NSLocale?) -> String

<< OBJECTIVE-C >>
– (NSString *)uppercaseStringWithLocale:(NSLocale *)locale


パラメーター

localeロケール。ユーザに提示される文字列については、現在のロケール([NSLocale currentLocale]) を渡します。システムロケールを使用するには、nil を渡して下さい。

戻り値

locale を使用した大文字の文字列。@"ABcde" と入力すると、結果は @"ABCDE" になります。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– uppercaseString

– lowercaseString

– lowercaseStringWithLocale:





マッピングによる文字列取得


decomposedStringWithCanonicalMapping プロパティ


Unicode の正規化形式 D を使用して文字列の内容を正規化することによって作られた文字列(読み取り専用)


宣言

<< SWIFT >>

var decomposedStringWithCanonicalMapping: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *decomposedStringWithCanonicalMapping


利用可能

OS X v10.2 以降で利用可能。


以下も見よ

precomposedStringWithCanonicalMapping
decomposedStringWithCompatibilityMapping




decomposedStringWithCompatibilityMapping プロパティ


Unicode の正規化形式 KD を使用して、受信者の内容を正規化することによって作られた文字列。(読み取り専用)


宣言

<< SWIFT >>

var decomposedStringWithCompatibilityMapping: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *decomposedStringWithCompatibilityMapping


利用可能

OS X v10.2 以降で利用可能。


以下も見よ

precomposedStringWithCompatibilityMapping
decomposedStringWithCanonicalMapping




precomposedStringWithCanonicalMapping プロパティ


Unicode の正規化形式 C を使用して文字列の内容を正規化することによって作られた文字列。(読み取り専用)


宣言

<< SWIFT >>

var precomposedStringWithCanonicalMapping: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *precomposedStringWithCanonicalMapping


利用可能

OS X v10.2 以降で利用可能。


以下も見よ

precomposedStringWithCompatibilityMapping
decomposedStringWithCanonicalMapping




precomposedStringWithCompatibilityMapping プロパティ


Unicode の正規化形式 KC を使用して、受信者の内容を正規化することによって作られた文字列。(読み取り専用)


宣言

<< SWIFT >>

var precomposedStringWithCompatibilityMapping: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *precomposedStringWithCompatibilityMapping


利用可能

OS X v10.2 以降で利用可能。


以下も見よ

precomposedStringWithCanonicalMapping
decomposedStringWithCompatibilityMapping




数値の取得


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 以降で利用可能。


以下も見よ

floatValue
longLongValue
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 以降で利用可能。


以下も見よ

doubleValue
longLongValue
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 以降で利用可能。


以下も見よ

integerValue
doubleValue
floatValue

scanInt: (NSScanner)





integerValue プロパティ


文字列の NSInteger 値。(読み取り専用)


宣言

<< SWIFT >>

var integerValue: Int { get }

<< OBJECTIVE-C >>
@property(readonly) NSInteger integerValue


議論

文字列の NSInteger 値であり、十進数表現を仮定し、文字列の先頭の空白をスキップします。文字列が数値の有効な十進数のテキスト表現で始まっていない場合、このプロパティは 0 です。


このプロパティは、ローカライズされない値に格納されている書式情報を使用します。文字列から数値のローカライズされたスキャンのためには NSScanner オブジェクトを使用します。


利用可能

OS X v10.5 以降で利用可能。


以下も見よ

doubleValue
floatValue

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 以降で利用可能。


以下も見よ

doubleValue
floatValue

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 以降で利用可能。


以下も見よ

integerValue

scanInt: (NSScanner)





コード化での作業


+ availableStringEncodings


アプリの環境でコード化する文字列オブジェクトサポートの、ゼロで終わるリストを返します。


宣言

<< SWIFT >>

class func availableStringEncodings() -> UnsafePointer<UInt>

<< OBJECTIVE-C >>
+ (const NSStringEncoding *)availableStringEncodings


戻り値

アプリの環境でコード化する文字列オブジェクトサポートの、ゼロで終わるリスト。


議論

より一般的に使用されるコード化の中には、以下のものがあります:


NSASCIIStringEncoding


NSUnicodeStringEncoding


NSISOLatin1StringEncoding


NSISOLatin2StringEncoding


NSSymbolStringEncoding


多くのサポートされているコード化の大きなリストと説明については、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コード化する文字列。
flagYES の場合は、変換の際、文字を削除したり、変更することができます。

戻り値

encoding を使ってコード化された受信者の表現を含むN SData オブジェクト。flagNO であり、受信者が情報を失わずに変換できない場合は nil を返します(アクセントや大文字小文字など)。


議論

flagYES であり、受信者が情報を失うことなく変換できない場合は、変換する際に一部の文字が削除され、または変更されます。。たとえば、NSUnicodeStringEncoding から NSASCIIStringEncoding に文字を変換する際に、文字 ‘Á’ はアクセントを失って、'A' になります。


このメソッドは、得られた NSData オブジェクトを安全にファイルに書き出すことが確実にできるようにするために(必要であれば、エンディアンを示すために、バイトオーダーマーカーを付けて) 外部表現を作成します。損失のない変換が行われた際の、このメソッドの結果は、コード化のためのデフォルトの"プレーンテキスト" 形式で、文字列オブジェクトを保存または送信するための推奨された方法です。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ availableStringEncodings

– canBeConvertedToEncoding:





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 以降で利用可能。


以下も見よ

fastestEncoding

– getCharacters:range:





パスでの作業


+ pathWithComponents:


各ペア間のパスの区切りとそれらを連結することによって、与えられた配列内の文字列から構築された文字列を返します。


宣言

<< SWIFT >>

class func pathWithComponents(_ components: [String]) -> String

<< OBJECTIVE-C >>
+ (NSString *)pathWithComponents:(NSArray<NSString *> *)components


パラメーター

componentsファイルパスを表す NSString オブジェクトの配列。絶対パスを作成するには、第一成分として、スラッシュマーク("/")を使用します。続くパス分割子を含めるには、最後の成分として空の文字列を使用して下さい。

戻り値

各ペア間のパスの区切り文字で(配列に表れた順序で) それらを連結した components 内の文字列から構築された文字列。


議論

このメソッドは、作成したパスを仕上げません。空のコンポーネントや、親ディレクトリへの参照などを解決するためには stringByStandardizingPath を使用して下さい。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– pathComponents





pathComponents プロパティ


受信者のファイルシステムのパスコンポーネント。(読み取り専用)


宣言

<< SWIFT >>

var pathComponents: [String] { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSArray <NSString *> *pathComponents


議論

配列内の文字列は、それらが受信機で現れた順に現れます。文字列が、パスの区切り文字で始まるか終わる場合、最初または最後の構成成分は、それぞれ、区切り文字を含みます。(連続したパス区切り文字によって引き起こされる)空の構成成分は削除されます。たとえば、次のコードの抜粋:


  1. NSString *path = @"tmp/scratch";
  2. NSArray *pathComponents = [path pathComponents];


は、以下の内容の配列を生成します。


インデックスパス成分
0“tmp”
1“scratch”

受信者がスラッシュで始まっている場合、例えば、"/tmp/scratch" であれば 、以下の内容になります。


インデックスパス成分
0“/”
1“scratch”

受信者に区切り文字がない場合。たとえば、“scratch” 配列は、この場合は “scratch” の文字列自体を含みます。


このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません) のみで動作することに注意してください。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

+ pathWithComponents:

– stringByStandardizingPath

– 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戻る時に、受信者と一致する最長のパスを含みます。
flagYES の場合、このメソッドはありうる補完のためのケースを考慮しています。
outputArray戻る時に、一致するすべてのファイル名を含みます。
filterTypesパスの拡張子が完了するのを検討するのを指定する NSString オブジェクトの配列。その拡張子のパスだけ(拡張子の区切りは含まない) が一致する、これらの文字列の一つが outputArray に含まれています。この出力をフィルタしたくない場合は、nil を渡して下さい。

戻り値

正確に一つの一致が見つかった場合は 1、一致が見つからなかった場合は 0。複数の一致がある場合、outputArray が提供されている場合はパスが合致した実際の数を返し、outputArrayNULL の場合は単に正の値を返します。


議論

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 ライブラリルーチンから得られるように) NSFileManagerstringWithFileSystemRepresentation: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 のバイトを含むのに十分な大きさでなければなりません。
maxLengthbuffer に戻すべき、文字列の最大バイト数。(このメソッドが追加する終端の NULL 文字を含みます)。

戻り値

buffer が正常にファイルシステム表現で満たされていれば YES 、そうでなければ NO(例えば、maxLength が超えてしまう場合や受信者が、ファイルシステムのコード化で表現できない場合には)。


議論

このメソッドは、抽象パスと拡張子の区切り文字(それぞれ、'/'と '.')をオペレーティングシステムのそれらの等価物に置き換えることで動作します。システム固有のパスや拡張子の区切り文字は抽象的表現で表示された場合(これらが抽象的区切り文字と同じでない限り)、それが変換された文字は、システムに依存します。


このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)でのみ動作することに注意してください。


次の例では、maxLength 引数の使用方法を示しています。最初のメソッド呼び出しは、文字列のファイル表現(@"/mach_kernel") は、12バイト長で、NULL 終了バイトの追加を許可しておらず、maxLength 引数(12)として渡された値であるため失敗を返します。


  1. char filenameBuffer[13];
  2. BOOL success;
  3. success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:12];
  4. // success == NO
  5. // Changing the length to include the NULL character does work
  6. success = [@"/mach_kernel" getFileSystemRepresentation:filenameBuffer maxLength:13];
  7. // success == YES

利用可能

OS X v10.0 以降で利用可能。


以下も見よ

– fileSystemRepresentation





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 以降で利用可能。


以下も見よ

pathComponents




pathExtension プロパティ


もしあれば、パスとして解釈される文字列のパス拡張。(読み取り専用)


宣言

<< 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 以降で利用可能。


以下も見よ

pathComponents
lastPathComponent



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 以降で利用可能。


以下も見よ

– stringsByAppendingPaths:

– 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 以降で利用可能。


以下も見よ

stringByDeletingPathExtension

– 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 以降で利用可能。


以下も見よ

pathExtension

– 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

stringByExpandingTildeInPath





stringByStandardizingPath プロパティ


受信者から関係のないパス·コンポーネントを削除することによって作られた新しい文字列。(読み取り専用)


宣言

<< SWIFT >>

var stringByStandardizingPath: String { get }

<< OBJECTIVE-C >>
@property(readonly, copy) NSString *stringByStandardizingPath


議論

以下の変更を行って、新しい文字列を作成できます。


エラーが起きた場合は、self を返します。


このメソッドによって返されるパスはまだその中にシンボリックリンクのコンポーネントを有するかもしれないことに注意してください。このメソッドは、ファイルパス(例えば、URL の文字列表現では動作しません)のみで動作することにも注意してください。


利用可能

OS X v10.0 以降で利用可能。


以下も見よ

stringByExpandingTildeInPath

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 で旧式となりました。


以下も見よ

+ stringWithCString:encoding:





– 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 で旧式となりました。


以下も見よ

– initWithCString:encoding:





+ 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 で旧式となりました。


以下も見よ

+ stringWithCString:encoding:





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 で旧式となりました。


以下も見よ

– initWithCString:encoding:





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 の所有者になります。flagYES の場合、それはもはや必要としないメモリを解放しますが、flagNO であれば、しません。初期化されたオブジェクトを返し、元の受信者と異なる場合があります。


不変(const char*) の C 文字列バッファから不変の文字列を作成するのに、このメソッドを使えます。警告メッセージが表示された場合、それを無視して下さい。その目的は、メソッドの最初の引数として渡された C 文字列が修正されうることを警告することです。initWithStringNoCopyfreeWhenDone 引数に渡したのが NO と確信でき、メソッドの最初の引数として渡された C 文字列が修正されなければ、不変の(const char *) C 文字列バッファから、不変の文字列を作成するには initWithStringNoCopy を安全に使えます。


利用可能

OS X v10.0 以降で利用可能。

OS X v10.4 で旧式となりました。


以下も見よ

– initWithCString:encoding:





+ stringWithContentsOfFile:

(OS X 10.4)

与えられたパスで名付けられたファイルからデータを読み取ることによって作成された文字列を返します。


旧式の文

代わりに stringWithContentsOfFile:encoding:error: または stringWithContentsOfFile:usedEncoding:error: を使用して下さい。


宣言

<< OBJECTIVE-C >>

+ (id)stringWithContentsOfFile:(NSString *)path


議論

内容が、Unicode バイト順マークで始まっている場合(U+FEFFU+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+FEFFU+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 のコード化で書かれています。


flagYES である場合、受信者は、補助ファイルに書き込まれ、その後、補助ファイルの名前は、path に変更されます。flagNO である場合、受信者は、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


議論

atomicallyYES の場合、受信者は、補助の場所に書き込まれ、その後、補助の場所の名前は aURL に変更されます。atomicallyNO の場合、受信者は 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 で旧式となりました。


以下も見よ

– length




– 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 で旧式となりました。


以下も見よ

– cStringUsingEncoding:

– getCString:maxLength:encoding:

UTF8String





– 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 で旧式となりました。


以下も見よ

– cStringUsingEncoding:

– 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 で旧式となりました。


以下も見よ

– lengthOfBytesUsingEncoding:

– maximumLengthOfBytesUsingEncoding:

UTF8String





– 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 で旧式となりました。


以下も見よ

– cStringUsingEncoding:

– getCString:maxLength:encoding:

UTF8String





– getCString:maxLength:

(OS X 10.4)

maxLengthchar サイズ単位の最大の長さとして、受信者の全部の長さを範囲とし、残りの範囲を NULL として getCString:maxLength:range:remainingRange: を呼び出します。


旧式の文

代わりに getCString:maxLength:encoding: を使って下さい。


宣言

<< OBJECTIVE-C >>

– (void)getCString:(char *)bytes
         maxLength:(NSUInteger)maxLength


議論

buffer は、maxLengthchars (文字)に終端ゼロの char(このメソッドが追加します) を加えた文字数を含む十分な大きさでなければなりません。


受信者が情報の損失なしに、デフォルトの C 文字列のコード化で表現できない場合 NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列のコード化に変換できるかどうかを確認する必要があれば、 canBeConvertedToEncoding: を使って下さい。もし使用できなければ、lossyCString または情報の一部を失った上で C 文字列を得る dataUsingEncoding:allowLossyConversion: を使って下さい。


利用可能

OS X v10.0 以降で利用可能。

OS X v10.4 で旧式となりました。


以下も見よ

– cStringUsingEncoding:

– getCString:maxLength:encoding:

UTF8String





– 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


議論

buffermaxLength のバイトに加え終端のゼロ文字(このメソッドが追加します) を含十分な大きさでなければなりません。aRange からできるだけ多くの文字をコピーし、変換し、leftoverRange (それが nilでない場合) によって与えられた範囲に変換されていないものの範囲を格納します。aRange のいずれかの部分が文字列の終わりを超えて存在する場合には NSRangeException の例外が発生します。


受信者が情報を失わずに、デフォルトの C 文字列のコード化で表現できない場合 NSCharacterConversionException の例外が発生します。文字列が損失なくデフォルトの C 文字列のコード化に変換できるかどうかを確認する必要があれば、canBeConvertedToEncoding: を使って下さい。もし使用できなければ、lossyCString か、情報の一部を失った上で C 文字列を得る dataUsingEncoding:allowLossyConversion: を使って下さい。


利用可能

OS X v10.0 以降で利用可能。

OS X v10.4 で旧式となりました。


以下も見よ

– cStringUsingEncoding:

– getCString:maxLength:encoding:

UTF8String





– 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 より大きい場合は最大の線に分解された幅を指定します。heught0.0 より大きく NSStringDrawingUsesLineFragmentOrigin が指定されている場合、テキストで占有できる最大サイズを定義します。NSStringDrawingUsesLineFragmentOrigin が指定されていない場合、高さは無視され、シングルラインレンダリングと考えられます(NSLineBreakByWordWrappingNSLineBreakByCharWrappingNSLineBreakByClipping として扱われます)。


現在のグラフィックスコンテキストがある場合にのみ、このメソッドを呼び出す必要があります。


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;


定数

議論

これらのオプションの効果の詳細については、文字列の検索、比較、並べ替え を参照してください。


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;


定数

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;


宣言

議論

これらの値は、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;


定数

議論

これらのオプションは、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;


定数

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;


定数

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;


定数

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;


定数




文字列コード化検出オプション


以下の定数は、データオブジェクトから文字列コード化を検出する際に使用するため 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;


定数

議論

stringEncodingForData:encodingOptions:convertedString:usedLossyConversion: メソッドに渡されるオプションのキーとしてこれらの定数は使用されます。





NSMaximumStringLength


NSString オブジェクト内の文字の最大数を定義する定数。


旧式です。 この定数は、OS X v10.5 以降では使用できません。


宣言

<< OBJECTIVE-C >>

#define NSMaximumStringLength (INT_MAX-1)


定数

利用可能

OS X v10.0 で利用可能。

OS X v10.5 で削除されました。





次:文書改定履歴
目次
Xcode の新機能

インターフェースビルダー ヘルプ
ストーリーボード
NSObject(class)

  • NSString
  • 概観
  • 文字列オブジェクト
  • 文字を理解する
    UTF-16 でエンコードされたデータの解釈
  • サブクラス化の注意
  • オーバーライドするべきメソッド
    サブクラス化の代替
  • タスク
  • 文字列の作成と初期化
  • string
    init 指名イニシャライザー
    initWithBytes:length:encoding:
    initWithBytesNoCopy:length:encoding :freeWhenDone:
    initWithCharacters:length:
    initWithCharactersNoCopy:length :freeWhenDone:
    initWithString:
    initWithCString:encoding:
    initWithUTF8String:
    initWithFormat:
    initWithFormat:arguments:
    initWithFormat:locale:
    initWithFormat:locale:arguments:
    initWithData:encoding:
    stringWithFormat:
    localizedStringWithFormat:
    stringWithCharacters:length:
    stringWithString:
    stringWithCString:encoding:
    stringWithUTF8String:
  • ファイルから文字列を作成し初期化
  • stringWithContentsOfFile:encoding :error:
    initWithContentsOfFile:encoding :error:
    stringWithContentsOfFile :usedEncoding:error:
    initWithContentsOfFile :usedEncoding:error:
  • URL から文字列を作成し初期化
  • stringWithContentsOfURL:encoding :error:
    initWithContentsOfURL:encoding :error:
    stringWithContentsOfURL :usedEncoding:error:
    initWithContentsOfURL :usedEncoding:error:
  • ファイルまたは URL への書き込み
  • writeToFile:atomically:encoding:error:
    writeToURL:atomically:encoding:error:
  • 文字列の長さを得る
  • length プロパティ
    lengthOfBytesUsingEncoding:
    maximumLengthOfBytesUsingEncoding:
  • 文字とバイトを得る
  • characterAtIndex:
    getCharacters:range:
    getBytes:maxLength:usedLength :encoding:options :range:remainingRange:
  • C の文字列を得る
  • cStringUsingEncoding:
    getCString:maxLength:encoding:

    UTF8String プロパティ
  • 文字列の特定と比較
  • caseInsensitiveCompare:
    localizedCaseInsensitiveCompare:
    compare:
    localizedCompare:
    compare:options:
    compare:options:range:
    compare:options:range:locale:
    localizedStandardCompare:
    hasPrefix:
    hasSuffix:
    isEqualToString:
    hashプロパティ
  • 文字列の組み合わせ
  • stringByAppendingFormat:
    stringByAppendingString:
    stringByPaddingToLength:withString :startingAtIndex:
  • 文字列の分割
  • componentsSeparatedByString:
    componentsSeparatedByCharactersInSet:
    stringByTrimmingCharactersInSet:
    substringFromIndex:
    substringWithRange:
    substringToIndex:
  • 文字と部分文字列の検索
  • containsString:
    localizedCaseInsensitiveContainsString:
    localizedStandardContainsString:
    localizedStandardRangeOfString:
    rangeOfCharacterFromSet:
    rangeOfCharacterFromSet:options:
    rangeOfCharacterFromSet:options:range:
    rangeOfString:
    rangeOfString:options:
    rangeOfString:options:range:
    rangeOfString:options:range:locale:
    enumerateLinesUsingBlock:
    enumerateSubstringsInRange:options :usingBlock:
  • 部分文字列の置き換え
  • stringByReplacingOccurrencesOfString :withString:
    stringByReplacingOccurrencesOfString :withString:options:range:
    stringByReplacingCharactersInRange :withString:
  • 行と段落の範囲の決定
  • getLineStart:end:contentsEnd:forRange:
    lineRangeForRange:
    getParagraphStart:end:contentsEnd :forRange:
    paragraphRangeForRange:
  • 合成文字シーケンスの決定
  • rangeOfComposedCharacterSequence
    AtIndex:

    rangeOfComposedCharacterSequences
    ForRange:

  • 文字列の内容のプロパティリストへの変換
  • propertyList
    propertyListFromStringsFileFormat
  • 文字列の描画
  • drawAtPoint:withAttributes:
    drawInRect:withAttributes:
    drawWithRect:options:attributes :context:
    boundingRectWithSize:options :attributes:context:
    sizeWithAttributes:
  • 文字列の折りたたみ
  • stringByFoldingWithOptions:locale:
  • 共有接頭辞の取得
  • commonPrefixWithString:options:
  • 大文字小文字の変更
  • capitalizedString プロパティ
    capitalizedStringWithLocale:

    lowercaseString プロパティ
    lowercaseStringWithLocale:
    uppercaseString プロパティ
    uppercaseStringWithLocale:
  • マッピングによる文字列取得
  • decomposedStringWithCanonical
    Mapping プロパティ

    decomposedStringWithCompatibility
    Mapping プロパティ

    precomposedStringWithCanonical
    Mapping プロパティ

    precomposedStringWithCompatibility
    Mapping プロパティ

  • 数値の取得
  • doubleValue プロパティ
    floatValue プロパティ
    intValue プロパティ
    integerValue プロパティ
    longLongValue プロパティ
    boolValue プロパティ
  • コード化での作業
  • availableStringEncodings
    defaultCStringEncoding
    localizedNameOfStringEncoding:
    canBeConvertedToEncoding:
    dataUsingEncoding:
    dataUsingEncoding:allowLossyConversion:
    description プロパティ
    fastestEncoding プロパティ
    smallestEncoding プロパティ
  • パスでの作業
  • pathWithComponents:
    pathComponents プロパティ
    completePathIntoString:caseSensitive :matchesIntoArray:filterTypes:
    fileSystemRepresentation プロパティ
    getFileSystemRepresentation:maxLength:
    AbsolutePath プロパティ
    lastPathComponent プロパティ
    pathExtension プロパティ
    stringByAbbreviatingWithTildeInPath プロパティ
    stringByAppendingPathComponent:
    stringByAppendingPathExtension:
    stringByDeletingLastPathComponent プロパティ
    stringByDeletingPathExtension プロパティ
    stringByExpandingTildeInPath プロパティ
    stringByResolvingSymlinksInPath プロパティ
    stringByStandardizingPath プロパティ
    stringsByAppendingPaths:
  • URL での作業
  • stringByAddingPercentEncoding
    WithAllowedCharacters:

    stringByRemovingPercentEncoding


  • 言語的タグ付けと分析
  • enumerateLinguisticTagsInRange :scheme:options:orthography:usingBlock:
    linguisticTagsInRange:scheme :options:orthography:tokenRanges:
  • 旧式
  • stringWithCString:
    initWithCString:
    stringWithCString:length:
    initWithCString:length:
    initWithCStringNoCopy:length: freeWhenDone:
    stringWithContentsOfFile:
    initWithContentsOfFile:
    stringWithContentsOfURL:
    initWithContentsOfURL:
    writeToFile:atomically:
    writeToURL:atomically:
    getCharacters:
    cString
    cStringLength
    getCString:
    getCString:maxLength:
    getCString:maxLength:range :remainingRange:
    stringByAddingPercentEscapesUsing
    Encoding:

    stringByReplacingPercentEscapes
    UsingEncoding:

    drawWithRect:options:attributes:
    boundingRectWithSize:options:attributes:
  • データ型
  • unichar
  • 定数
  • NSStringCompareOptions
    NSStringEncodingConversionOptions
    NSStringEncoding
    NSStringEnumerationOptions
    NSStringDrawingOptions
    NSTextAlignment
    NSWritingDirection
    NSString 例外処理の名
    文字列コード化検出オプション
    文書改定履歴












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)












    トップへ(NSString)