NSStringクラスリファレンス/廃止されたメソッド

Last-modified: 2014-01-21 (火) 13:28:21

廃止されたNSStringメソッド

 

廃止とされたメソッドは、ほかで置き換えられていて、将来はサポートされなくなるでしょう。

OS X v10.4で廃止

+ stringWithContentsOfFile:

あたえられたパスを名前に持つファイルからデータを読み込んで生成した文字列を返します。(OS X v10.4で廃止。代わりに、stringWithContentsOfFile:encoding:error:か、stringWithContentsOfFile:usedEncoding:error:を使ってください。)

+ (id)stringWithContentsOfFile:(NSString *)path

Discussion
コンテンツがUnicode byte-order mark (U+FEFF or U+FFFE)で始まれば、それをUnicode文字として解釈します。コンテンツがUTF-8 byte-order mark (EFBBBF)で始まれば、それをUTF-8として解釈します。その他の場合は、コンテンツをdefault C string encodingのデータとして解釈します。default C string encodingはユーザの設定によって変わりますので、UnicodeかUTF-8を使っていない限り、もしくはdefault C string encodinを検証しない限り、このメソッドを信頼してはいけません。ファイルを開けなければ、nilを返します。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- stringWithContentsOfFile:encoding:error:
- stringWithContentsOfFile:usedEncoding:error:
Related Sample Code
GLSL Basics Cocoa
GLSL Showpiece Lite
GLSLShowpiece
OpenGL Filter Basics Cocoa
Declared In
NSString.h.

+ stringWithContentsOfURL:

あたえられたURLの名前を持つファイルからデータを読み込んで生成した文字列を返します。(OS X v10.4で廃止。代わりに、stringWithContentsOfURL:encoding:error:かstringWithContentsOfURL:usedEncoding:error:を使ってください。)

+ (id)stringWithContentsOfURL:(NSURL *)aURL

Discussion
コンテンツがUnicode byte-order mark (U+FEFF or U+FFFE)で始まれば、それをUnicode文字として解釈します。コンテンツがUTF-8 byte-order mark (EFBBBF)で始まれば、それをUTF-8として解釈します。その他の場合は、コンテンツをdefault C string encodingのデータとして解釈します。default C string encodingはユーザの設定によって変わりますので、UnicodeかUTF-8を使っていない限り、もしくはdefault C string encodinを検証しない限り、このメソッドを信頼してはいけません。aURL'を開けなければ、nilを返します。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
+ stringWithContentsOfURL:encoding:error:
+ stringWithContentsOfURL:usedEncoding:error:
Declared In
NSString.h.

+ stringWithCString:

あたえられたC文字列を使って新しい文字を生成する。(OS X v10.4で廃止。代わりにstringWithCString:encoding:を使ってください。)

+ (id)stringWithCString:(const char *)cString

Discussion
cStringはdefault C string encoding形式のデータを含むべきでしょう。stringWithCString:へ渡す引数がゼロ終端のC文字列のなら、結果は定義されていません。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
+ stringWithCString:encoding:
Related Sample Code
DragNDropOutlineView
SMARTQuery
Declared In
NSString.h.

+ stringWithCString:length:

あたえられたC文字列にある文字を含む文字列を返します。(OS X v10.4で廃止。代わりに、stringWithCString:encoding:を使ってください。)

+ (id)stringWithCString:(const char *)cString length:(NSUInteger)length

Discussion
cStringNULLではいけません。cStringはdefault C-string encoding形式の文字を含むべきでしょう。このメソッドはlength * sizeof(char)バイトをcStringへ変換しますが、NULL文字があるところで止まりません。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
+ stringWithCString:encoding:
Declared In
NSString.h.

- cString

レシーバを、default C-string encoding形式のC文字列表現で返します。(OS X v10.4で廃止。代わりに、cStringUsingEncoding:またはUTF8Stringを使ってください。)

- (const char *)cString

Discussion
返されるオブジェクト(レシーバのこと?訳者注)が開放されると、返されるC文字列はすぐ自動的に開放されます。このC文字列を生成したautoreleaseコンテキストの外で保管する必要があれば、コードでコピーするかgetCString:を使ってください。

情報を失うことなくdefault C-string encoding形式でレシーバを表現できないなら、NSCharacterConversionExceptionが発生します。文字列をロスレスでdefault C-string encoding形式へ変換できるかどうかをチェックする必要があるなら、canBeConvertedToEncoding:を使ってください。ロスレスで変換ができないなら、C文字列を得るのに、いくらかの情報を失いますが、lossyCStringもしくはdataUsingEncoding:allowLossyConversion:を使ってください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- cStringUsingEncoding:
- getCString:maxLength:encoding:
- UTF8String
Related Sample Code
GLSLShowpiece
Declared In
NSString.h.

- cStringLength

The default C-string encoding形式でのレシーバのC文字列表現を、charのサイズ単位で数えたときの長さを返します。(OS X v10.4で廃止。代わりに、lengthOfBytesUsingEncoding:またはmaximumLengthOfBytesUsingEncoding:を使ってください。)

- (NSUInteger)cStringLength

Discussion
情報を失うことなくdefault C-string encoding形式でレシーバを表現できないなら、(訳者注:なにが?たぶんNSCharacterConversionExceptionが)発生します。文字列をロスレスでdefault C-string encoding形式へ変換できるかどうかをチェックする必要なら、canBeConvertedToEncoding:を使ってください。ロスレスで変換ができないなら、C文字列を得るのに、いくらかの情報を失いますが、lossyCStringを使って、そのつぎにANSIのstrlen()関数を明示的に呼び出して長さをチェックしてください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- lengthOfBytesUsingEncoding:
- maximumLengthOfBytesUsingEncoding:
- UTF8String
Declared In
NSString.h.

- getCString:

NSMaximumStringLengthをレシーバ全体の長さ、残っている範囲をNULLとして、getCString:maxLength:range:remainingRange: を呼び出す。OS X v10.4で廃止。代わりに、cStringUsingEncoding:またはdataUsingEncoding:allowLossyConversion:を使ってください。)

- (void)getCString:(char *)buffer

Discussion
bufferは、結果として得られるC文字列に加えてNULL終端文字を含むのに十分な大きさでなければなりません(終端文字はこのメソッドが加えます、[string cStringLength])。

情報を失うことなくdefault C-string encoding形式でレシーバを表現できないなら、NSCharacterConversionExceptionが発生します。文字列をロスレスでdefault C-string encoding形式へ変換できるかどうかをチェックする必要があるなら、canBeConvertedToEncoding:を使ってください。ロスレスで変換ができないなら、C文字列を得るのにいくらかの情報を失いますが、lossyCStringもしくはdataUsingEncoding:allowLossyConversion:を使ってください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- cStringUsingEncoding:
- getCString:maxLength:encoding:
- UTF8String
Declared In
NSString.h.

- getCString:maxLength:

maxLengthをレシーバ全体を範囲とするcharサイズ単位での最大長さとして、残った範囲をNULLとして、getCString:maxLength:range:remainingRange:を呼び出します。OS X v10.4で廃止。代わりに、getCString:maxLength:encoding:を使ってください。)

- (void)getCString:(char *)buffer maxLength:(NSUInteger)maxLength

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

情報を失うことなくdefault C-string encoding形式でレシーバを表現できないなら、NSCharacterConversionExceptionが発生します。文字列をロスレスでdefault C-string encoding形式へ変換できるかどうかをチェックする必要があるなら、canBeConvertedToEncoding:を使ってください。ロスレスで変換ができないなら、C文字列を得るのにいくらかの情報を失いますが、lossyCStringもしくはdataUsingEncoding:allowLossyConversion:を使ってください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- cStringUsingEncoding:
- getCString:maxLength:encoding:
- UTF8String
Declared In
NSString.h.

- getCString:maxLength:range:remainingRange:

レシーバのコンテンツをdefault C-string encodingへ変換し、それらをあたえられたバッファへ保存します。OS X v10.4で廃止。代わりに、getCString:maxLength:encoding:を使ってください。)

- (void)getCString:(char *)buffer maxLength:(NSUInteger)maxLength range:(NSRange)aRange remainingRange:(NSRangePointer)leftoverRange

Discussion
bufferは、maxLengthバイトに加えてゼロ終端文字を含むのに十分な大きさでなければなりません(ゼロ文字はこのメソッドが加えます、[string cStringLength])。aRangeからできるだけ多くの文字をコピーして変換し、(leftoverRangenilでなければ)変換されていない文字の範囲をleftoverRangeであたえられた範囲へ保存します。aRangeが指定する範囲が文字列の終端を超えたら、NSRangeExceptionが発生します。

情報を失うことなくdefault C-string encoding形式でレシーバを表現できないなら、NSCharacterConversionExceptionが発生します。文字列をロスレスでdefault C-string encoding形式へ変換できるかどうかをチェックする必要があるなら、canBeConvertedToEncoding:を使ってください。ロスレスで変換ができないなら、C文字列を得るのにいくらかの情報を失いますが、lossyCStringもしくはdataUsingEncoding:allowLossyConversion:を使ってください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- cStringUsingEncoding:
- getCString:maxLength:encoding:
- UTF8String
Declared In
NSString.h.

- initWithContentsOfFile:

pathと名前があるファイルからデータを読み込み、それでた新しいNSStringオブジェクトを初期化します。(OS X v10.4で廃止。代わりに、initWithContentsOfFile:encoding:error:またはinitWithContentsOfFile:usedEncoding:error:を使ってください。)

- (id)initWithContentsOfFile:(NSString *)path

Discussion
pathと名前があるファイルからデータを読み込み、それでた新しいNSStringオブジェクトを初期化します。コンテンツがbyte-order mark (U+FEFF or U+FFFE)で始まるなら、それをUnicode文字として解釈します。それ以外では、コンテンツをC string encodingとして解釈します。初期化したオブジェクト、これは基になったレシーバとは異なるものでしょう、もしくはファイルが開けなかったらnil、どちらかを返します。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- initWithContentsOfFile:encoding:error:
- initWithContentsOfFile:usedEncoding:error:
Declared In
NSString.h.

- initWithContentsOfURL:

あたえられたURLの場所からデータを読み込み、それで新しいNSStringオブジェクトを初期化します。(OS X v10.4で廃止。代わりに、initWithContentsOfURL:encoding:error:またはinitWithContentsOfURL:usedEncoding:error:を使ってください。)

- (id)initWithContentsOfURL:(NSURL *)aURL

Discussion
あたえられたURLの場所からデータを読み込み、それで新しいNSStringオブジェクトを初期化します。コンテンツがbyte-order mark (U+FEFF or U+FFFE)で始まるなら、それをUnicode文字として解釈します。それ以外では、コンテンツをC string encodingとして解釈します。初期化したオブジェクト、これは基になったレシーバとは異なるものになるでしょう、もしくは場所を開けられなかったらnil、どちらかを返します。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- initWithContentsOfURL:encoding:error:
- initWithContentsOfURL:usedEncoding:error:
Declared In
NSString.h.

- initWithCString:

あたえられたC文字列に存在するC文字列を、default C-string encoding形式からUnicode character encoding形式へ変換し、得られた値を新しいNSStringオブジェクトとして初期化します。(OS X v10.4で廃止。代わりに、initWithCString:encoding:を使ってください。)

- (id)initWithCString:(const char *)cString

Discussion
cStringは、default C string encoding形式の、ゼロ末端C文字列でなければならず、NULLであってもいけません。基となったレシーバとは異なるであろう、初期化したオブジェクトを返します。

不変なC文字列のバッファから不変な文字列を作るのに、このメソッドを使おうとはしないでください。代わりに、initWithCStringNOCopy:length:freeWhenDone:を使ってください。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- initWithCString:encoding:
Related Sample Code
OpenCL Procedural Grass and Terrain Example
Declared In
NSString.h.

- initWithCString:length:

あたえられたC文字列に存在するデータを、あたえられた長さ文だけ、default C-string encoding形式からUnicode character encoding形式へ変換し、得られた値を新しいNSStringオブジェクトとして初期化します。(OS X v10.4で廃止。代わりにinitWithBytes:length:encoding:を使ってください。)

- (id)initWithCString:(const char *)cString length:(NSUInteger)length

Discussion
このメソッドはcStringからlength * sizeof(char)バイトの長さだけ変換しますが、ゼロ文字のところで止まりません。cStringはthe default C-string encoding形式のバイト列でなくてはならず、NULLであってもいけません。基となったレシーバとは異なる、初期化したオブジェクトを返すでしょう。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- initWithCString:encoding:
Declared In
NSString.h.

- initWithCStringNoCopy:length:freeWhenDone:

あたえられたC文字列に存在するデータを、the default C-string encoding形式からUnicode character encoding形式へ変換し、得られた値を新しいNSStringオブジェクトとして初期化します。(OS X v10.4で廃止。代わりに、initWithBytesNOCopy:length:encoding:freeWhenDone:を使ってください。)

- (id)initWithCStringNoCopy:(char *)cString length:(NSUInteger)length freeWhenDone:(BOOL)flag

Discussion
このメソッドはcStringからlength * sizeof(char)バイトの長さだけ変換しますが、ゼロ文字のところで止まりません。cStringはthe default C-string encoding形式のバイト列でなくてはならず、NULLであってもいけません。レシーバはcStringのオーナーになります。flagYESなら、レシーバがもう必要ではなくなったとき、得られた文字列のメモリを解放します。しかし、flag'がNOなら、そうしません。基となったレシーバとは異なる、初期化したオブジェクトを返します。

このメソッドは、不変の(const char*)C文字列バッファから不変な文字列を生成するのに使えます。警告のメッセージを受け取ったら、無視することもできます。それの意図は単に、このメソッドの最初の引数として渡されたC文字列が変えられようとしているのを警告しているだけです。initWithStringNoCopyへの引数freeWhenDoneNOとしていれば、このメソッドの最初の引数として渡されたC文字列を変更できないので、不変の(const char*)C文字列バッファから不変な文字列を生成を生成するのにinitWithStringNoCopyは安全に使えます。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- initWithCString:encoding:
Declared In
NSString.h.

- lossyCString

the default C-string encoding形式にあるC文字列としてのレシーバの表現を返します。ここで、そのエンコーディングへの変換において情報を失う可能性があります。(OS X v10.4で廃止。代わりに、cStringUsingEncoding:もしくはdataUsingEncoding:allowLossyConversion:を使ってください。)

- (const char *)lossyCString

Discussion
情報を失う変換であっても、このメソッドは例外を発生しません。返されるC文字列は、返されるオブジェクトが開放されようとしているときに自動的に開放されます。このC文字列が生成されたautoreleaseコンテキストの外で保存しておく必要があるなら、それをコピーするか、getCString:と使うべきでしょ。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- cStringUsingEncoding:
- dataUsingEncoding:allowLossyConversion:
Declared In
NSString.h.

- writeToFile:atomically:

あたえられたパスで指定するファイルへレシーバのコンテンツを書き込みます。(OS X v10.4で廃止。代わりに、writeToFile:atomically:encoding:error:を使ってください。)

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

Return Value
ファイルの書き込みに成功したらYES、でなければNO

Discussion
pathで指定するファイルへレシーバのコンテンツを書き込みます(pathにある既存のファイルは上書きされます)。pathは、可能ならばthe default C-string encodingの形式で(つまり、何の情報も失わないなら)、でなければthe Unicode encoding形式で、書き込まれます。

flagYESなら、レシーバは補助ファイルに書き込まれ、その後に、その補助ファイルはpathへとリネームされます。flagNOなら、レシーバは直接にpathへ書き込まれます。YESオプションは、pathが、既に存在していれば、書き込みの途中でシステムがクラッシュしたとしても、損失しないのを補償します。

pathがチルダ(~)文字を含むなら、このメソッドを呼び出す前に、stringByExpandingTildeInPathを使ってチルダを展開しておく必要があります。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- writeToFile:atomically:encoding:error:
Declared In
NSString.h.

- writeToURL:atomically:

あたえられたURLで指定した場所へ、レシーバのコンテンツを書き込みます。(OS X v10.4で廃止。代わりに、writeToURL:atomically:encoding:error:を使ってください。)

- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)atomically

Return Value
指定した場所への書き込みが成功したらYES、でなければNO

Discussion
atomicallyYESなら、レシーバは補助な場所に書き込まれ、その後に、その補助場所はpathへとリネームされます。atomicallyNOなら、レシーバは直接にaURLへ書き込まれます。YESオプションは、aURLが、既に存在していれば、書き込みの途中でシステムがクラッシュしたとしても、損失しないのを補償します。

atomically(アトミカリ、分割できない一連の操作として)にアクセスできないタイプのaURLなら、atomicallyパラメタは無視されます。

Availability
OS X v10.0以降。
OS X v10.4で廃止。
See Also
- writeToURL:atomically:encoding:error:
Declared In
NSString.h.

OS X v10.6で廃止

- getCharacters:

レシーバからすべての文字をコピーして、あたえられたバッファへコピーします。(OS X v10.6で廃止。このメソッドはバッファオーバーランを引き起こす可能性があるので、安全ではありません。代わりに、getCharacters:range:を使ってください。)

- (void)getCharacters:(unichar *)buffer

Parameters
buffer
レシーバからの文字列が含まれます。bufferは、文字列にあるすべての文字を含むのに十分な大きくなくてはなりません([string length]*sizeof(unichar))。

Discussion
getCharacters:range:を、bufferと範囲をレシーバの全領域として呼び出します。

Availability
OS X v10.0以降。
OS X v10.6で廃止。
See Also
- length
Declared In
NSString.h.

Referred from

NSString Class Reference, Apple Developer Library

 

Copyright

Copyright © 2013 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2013-09-18

NSStringクラスメソッドへもどる