2010/09/16

[Objective-C]NSCharacterSetとNSStringの違い

今、ipadのアプリを作っていて、何気なく上記の疑問が浮上

まず、NSCharacterSetとは、

An NSCharacterSet object represents a set of Unicode characters. NSString and NSScanner objects use NSCharacterSet objects to group characters together for searching operations, so that they can find any of a particular set of characters during a search.

via:Character Sets

ここでは、NSCharacterSetは、ある一組のUnicodeを表現するクラスとして容易されているのに対して、NSStringは

A string object is implemented as an array of Unicode characters (in other words, a text string).

via:Strings

となっている。
つまり、Unicodeの配列として表現されるクラスであるそうです。

なんか、ドキュメントを読めば読むほど、わけがわからなくなってくるような。

つまり、テキストとして表現した場合は、NSString。セットとして扱いたい場合は、NSCharacterSetなのかなーっと無理やり納得させる。
(なので、NSStringがlengthが取れる一方で、NSCharacterSetでは、取得することができない。)

あとは、各メソッドが要求しているクラスを適宜使用すれば問題ないと思うのですが。

0 コメント:

コメントを投稿