NSString(1)

2010. 03. 26
iPhone SDKプログラミング大全』の『3−2 Foundationが提供する機能』で紹介しているクラスをピックアップしていきます。

まず最初はNSStringです。

●文字列の生成と初期化(Creating and Initializing Strings)

・+ string

+ (id)string

空の文字列を返します

NSString *オブジェクト = [NSString string];


- init

- (id)init

初期化した空のNSStringオブジェクトを返します

NSString *オブジェクト = [[NSString alloc] init];


・- initWithBytes:length:encoding:

- (id)initWithBytes:(const void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding

指定した長さとエンコーディングで初期化したバイト列をNSStringオブジェクトとして返します

bytes:文字列化するバイト列
length:バイト列の長さ
encoding:文字コードのエンコーディング

NSString *オブジェクト = [[NSString alloc] initWithBytes:バイト列 length:長さ encoding:NSUTF8StringEncoding];


・- initWithBytesNoCopy:length:encoding:freeWhenDone:

- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)length encoding:(NSStringEncoding)encoding
 
freeWhenDone:(BOOL)flag

指定した長さとエンコーディングで初期化したバイト列をNSStringオブジェクトとして返します。
またNSStringオブジェクト解放時に元のバイト列を解放するか選択できます。

bytes:文字列化するバイト列
length:バイト列の長さ
encoding:文字コードのエンコーディング
flag:YESの場合、NSStringオブジェクト解放時にバイト列を解放し、NOなら保持します

NSString *オブジェクト = [[NSString alloc] initWithBytes:バイト列 length:長さ encoding:NSShiftJISStringEncoding freeWhenDone:YES];


・– initWithCharacters:length:

– (id)initWithCharacters:(const unichar *)characters length:(NSUInteger)length

UnicodeのC配列から指定した文字数で初期化したNSStringオブジェクトを返します

characters:UnicodeのC配列(値がNULLの場合、例外が発生します)
length:C配列の長さ

NSString *オブジェクト = [[NSString alloc] initWithCharacters:C配列 length:長さ];


・– initWithCharactersNoCopy:length:freeWhenDone:

– (id)initWithCharactersNoCopy:(unichar *)characters length:(NSUInteger)length
 
freeWhenDone:(BOOL)flag

UnicodeのC文字列から指定した文字数で初期化したNSStringオブジェクトを返します。
またNSStringオブジェクト解放時に元のバイト列を解放するか選択できます。

characters:UnicodeのC配列(値がNULLの場合、例外が発生します)
length:C配列の長さ
flag:YESの場合、NSStringオブジェクト解放時にバイト列を解放し、NOなら保持します

NSString *オブジェクト = [[NSString alloc] initWithCharacters:C配列 length:長さ freeWhenDone:YES];


・– initWithString:

– (id)initWithString:(NSString *)aString

指定した文字列のコピーで初期化したNSStringオブジェクトを返します

aString:初期化に用いる文字列

NSString *オブジェクト = [[NSString alloc] initWithString:@"文字列"];


・– initWithCString:encoding:

– (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding

NULLで終わるC文字配列を指定したエンコードで初期化したNSStringオブジェクトを返します
(C文字配列がNULL終端でない場合、またはエンコーディングが適切でない場合は未定義になります)

nullTerminatedCString:NULL終端のC文字配列
encoding:C文字配列のエンコーディング

NSString *オブジェクト = [[NSString alloc] initWithCString:"文字列" encoding:NSJapaneseEUCStringEncoding];


・– initWithUTF8String:

– (id)initWithUTF8String:(const)bytes

NULLで終わるUTF-8エンコーディングのC文字列のコピーで初期化したNSStringオブジェクトを返します
(NULL終端でない場合は例外が発生します)

bytes:UTF-8エンコーディングのNULL終端C文字列

NSString *オブジェクト = [[NSString alloc] initWithUTF8String:"文字列"];


・– initWithFormat:

– (id)initWithFormat:(NSString *)format ...

指定したフォーマット(書式)で初期化したNSStringオブジェクトを返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません
...:カンマ区切りで値を指定します

NSString *オブジェクト = [[NSString alloc] initWithFormat:@"BST-%d-CHIHAYA", 72];


・– initWithFormat:arguments:

– (id)initWithFormat:(NSString *)format arguments:(va_list)argList

指定したフォーマットと可変引数リストで初期化したNSStringオブジェクトを返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません
argList:可変引数リスト

va_list argList;
va_start(argList, 書式)
NSString *オブジェクト = [[NSString alloc] initWithFormat:書式 arguments:argList];
va_end(argList); 


・– initWithFormat:locale:

– (id)initWithFormat:(NSString)format locale:(id)locale ...

指定したフォーマットとロケールで初期化したNSStringオブジェクトを返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません
locale:NSDictionaryかNSLocaleのインスタンスで指定し、nilの場合標準のロケールになります
ロケールの指定にdictionaryで環境設定から標準(デフォルト)のロケールを設定する場合は、[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]を使います

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSString *オブジェクト = [[NSString alloc] initWithFormat:書式 locale:locale, [NSDate date]];


・– initWithFormat:locale:arguments:

– (id)initWithFormat:(NSString *)format locale:(id)locale arguments:(va_list)argList

指定したフォーマットとロケール、可変引数リストで初期化したNSStringオブジェクトを返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません
locale:NSDictionaryかNSLocaleのインスタンスで指定し、nilの場合標準のロケールになります
ロケールの指定にdictionaryで環境設定から標準(デフォルト)のロケールを設定する場合は、[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]を使います
argList:可変引数リスト

va_list argList;
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP";
va_start(argList, 書式)
NSString *オブジェクト = [[NSString alloc] initWithFormat:書式  locale:locale arguments:argList];
va_end(argList);


・– initWithData:encoding:

– (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding

指定したエンコードで変換したデータで初期化したNSStringオブジェクトを返します

data:バイト列のNSDataオブジェクト
encoding:C文字配列のエンコーディング

NSString *オブジェクト = [[NSString alloc] initWithData:バイト列 encoding:NSUTF8StringEncoding];


・+ stringWithFormat:

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

指定したフォーマットで作った引数リストの文字列を返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません

NSString *オブジェクト = [NSString stringWithFormat:書式, 引数リスト];


・+ localizedStringWithFormat:

+ (id)localizedStringWithFormat:(NSString *)format ...

デフォルトのロケールで作った引数リストの文字列を返します
formatがnilの場合、NSInvalidArgumentExceptionを呼び出します)

format:文字列の書式を指定します。nilを指定することはできません

NSString *オブジェクト = [NSString localizedStringWithFormat:書式, 引数リスト];


・+ stringWithCharacters:length:

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

UnicodeのC文字列から指定した文字数で作った文字列を返します

chars:UnicodeのC配列(値がNULLの場合、例外が発生します)
length:C文字列から使用する文字列の長さ

NSString *オブジェクト = [NSString stringWithCharacters:C配列 length:長さ];


・+ stringWithString:

+ (id)stringWithString:(NSString *)aString

指定した文字列のコピーで作った文字列を返します

aString:コピー元になるNSStringオブジェクトの文字列
(aStringがnilの場合、NSInvalidArgumentExceptionを呼び出します)

NSString *オブジェクト = [NSString stringWithString:@"文字列"];


・+ stringWithCString:encoding:

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

C文字列を指定したエンコーディングで作り、返します
(C文字列がNULL終端でない、または指定したエンコーディングと実際のC文字列のエンコーディングが合っていない場合は結果が未定義になります)

cString:NULL終端のC文字列(途中にNULLが入っていてはいけません)
enc:C文字列のエンコーディング

NSString *オブジェクト = [NSString stringWithCString:"文字列", encoding:NSShiftJISStringEncoding];


・+ stringWithUTF8String:

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

UTF8エンコードのC文字列をコピーして作った文字列を返します

bytes:UTF-8エンコーディングのC文字列
(NULL終端でない場合は例外が発生します)

NSString *オブジェクト = [NSString stringWithUTF8String:"文字列"];



参考文献

Foundation Framework Reference

NSString Class Reference

Cocoa APIとか(iPhoneとか)/NSString

Studying Cocoa/NSString

iPhone SDK 3 プログラミング大全 実践プログラミング (MacPeople Books)iPhone SDK 3 プログラミング大全 実践プログラミング (MacPeople Books)
(2009/09/08)
木下 誠

商品詳細を見る

詳解 Objective-C 2.0 第3版詳解 Objective-C 2.0 第3版
(2011/12/28)
荻原 剛志

商品詳細を見る

0 CommentsPosted in 資料





QuietControl 30 wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
04 | 2017/05 | 06
Sun Mon Tue Wed Thu Fri Sat
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

QuietControl 30 wireless headphones
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR