-initWithData:encoding:
データを指定したエンコーディングで変換して文字列を初期化して返します
-(id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding
チーズ事典―家庭で本格的に楽しめる、ナチュラルチーズのすべて
- 作者: 村山重信
- 出版社/メーカー: 日本文芸社
- 発売日: 2005/02/07
- メディア: 単行本
- 購入: 2人 クリック: 60回
- この商品を含むブログ (10件) を見る
解説
データを指定したエンコーディングで変換して文字列を初期化して返します。
【NSStringEncoding】
● NSJapaneseEUCStringEncoding EUC
● NSShiftJISStringEncoding Shift JIS
● NSISO2022JPStringEncoding JIS
返り値
( id )
文字列(NSStringまたはそのサブクラス)
引数
( NSData * )data
データ
( NSStringEncoding )encoding
エンコーディング
フレームワーク
Foundation
クラス
NSString
使用可能
10.0
2.0
参照
例文
#pragma mark initWithData: - (void)displayText:(NSString *)text { self.fileString = text; NSLog(@"text %@",text); } -(void)method010 { //FileSystem programming guide //http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/FileSystemProgrammingGUide/UsingtheOpenandSavePanels/UsingtheOpenandSavePanels.html //OpenPanelを作る NSOpenPanel *opPanel = [ NSOpenPanel openPanel ]; //OpenPanelでファイル選択 //この方法は10.6以降 [opPanel setCanChooseDirectories:YES]; [opPanel setAllowsMultipleSelection:YES]; [opPanel setPrompt:NSLocalizedString(@"Add torrent", nil)]; [opPanel setMessage:@"Message"]; [opPanel beginWithCompletionHandler:^(NSInteger result){ if (result == NSFileHandlingPanelOKButton) { NSURL* theDoc = [[opPanel URLs] objectAtIndex:0]; // Open the document. NSData *dat = [NSData dataWithContentsOfURL: theDoc ]; NSString *output = [[NSString alloc] initWithData:dat encoding:NSASCIIStringEncoding]; [self performSelectorOnMainThread:@selector(displayText:) withObject:output waitUntilDone:NO]; } }]; }
10.6までの方法
#import "SetImage.h" @implementation SetImage - (IBAction)set:(id)sender { //開けるファイル拡張子の配列 NSArray *fileTypes = [ NSArray arrayWithObject : @"txt" ]; //OpenPanelを作る NSOpenPanel *opPanel = [ NSOpenPanel openPanel ]; // NSData *dat; NSFileManager *myFile = [ NSFileManager defaultManager]; //OpenPanelの結果のボタン番号 int opRet; //OpenPanelでファイル選択 opRet = [ opPanel runModalForDirectory : NSHomeDirectory() //どこのディレクトリを出すか file : @"Documents" //どのファイルを選択しておくか types : fileTypes ];//選べるファイルタイプ if ( opRet == NSOKButton ) { // OPENPanelのボタンがOKなら //ファイルから読み込む dat = [myFile contentsAtPath:[opPanel filename]]; [name setStringValue:[[NSString alloc] initWithData:dat encoding:NSShiftJISStringEncoding ]]; } } @end