macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

-initWithData:encoding:

INDEX>Foundation>NSString>

データを指定したエンコーディングで変換して文字列を初期化して返します
-(id)initWithData:(NSData *)data
           encoding:(NSStringEncoding)encoding

チーズ事典―家庭で本格的に楽しめる、ナチュラルチーズのすべて

チーズ事典―家庭で本格的に楽しめる、ナチュラルチーズのすべて

解説

データを指定したエンコーディングで変換して文字列を初期化して返します。
NSStringEncoding
● NSJapaneseEUCStringEncoding EUC
● NSShiftJISStringEncoding Shift JIS
● NSISO2022JPStringEncoding JIS

返り値

( id )

文字列(NSStringまたはそのサブクラス)

引数

( NSData * )data

データ

( NSStringEncoding )encoding

エンコーディング

クラス

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