macOS/iOS API解説

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

目次

initWithContentsOfURL:usedEncoding:error:

INDEX>Foundation>NSString>

指定したファイルからエンコーディングを返します
-(id)initWithContentsOfURL:(NSURL *)url
          usedEncoding:(NSStringEncoding *)enc
          error:(NSError **)error

解説

指定したファイルから推測されるエンコーディングを返します。

返り値

( id )

なし

引数

( NSURL * )url

ファイルのURL

( NSStringEncoding * )enc

ファイルから推測されるエンコーディング

( NSError ** )error

エラーを返すエラーオブジェクト

クラス

NSString

Instance Methods

使用可能

10.4

参照

+stringWithContentsOfURL:usedEncoding:error:

例文

#pragma mark  -initWithContentsOfURL:usedEncoding:error:
- (void)displayText036:(NSString *)text {
	self.fileString = text;
    NSLog(@"text %@",text);
}
-(void)method036
{
    //FileSystem programming guide
    //http://developer.apple.com/library/ios/#DOCUMENTATION/FileManagement/Conceptual/FileSystemProgrammingGUide/UsingtheOpenandSavePanels/UsingtheOpenandSavePanels.html
    
    
    //OpenPanelを作る
    NSOpenPanel  *opPanel       = [ NSOpenPanel openPanel ];
    
    //OpenPanelでファイル選択
    //This way is 10.6 or later
    [opPanel setCanChooseDirectories:YES];
    [opPanel setAllowsMultipleSelection:YES];
    [opPanel setPrompt:NSLocalizedString(@"prompt text", nil)];
    [opPanel setMessage:@"Message"];
    
    [opPanel beginWithCompletionHandler:^(NSInteger result){
        
        if (result == NSFileHandlingPanelOKButton) {
            NSURL*  theURL = [[opPanel URLs] objectAtIndex:0];
            
            // Open  the document.
            NSError *error = nil;
            NSStringEncoding encoding = 0;
            
            NSString *output = [[NSString alloc] initWithContentsOfURL:theURL
                                                    usedEncoding: &encoding                       error: &error];
            [self performSelectorOnMainThread:@selector(displayText036:) withObject:output waitUntilDone:NO];
            
            
            
            switch (encoding) {
                case NSASCIIStringEncoding:
                    NSLog(@"NSASCIIStringEncoding");
                    break;
                case NSNEXTSTEPStringEncoding:
                    NSLog(@"NSNEXTSTEPStringEncoding");
                    break;
                case NSJapaneseEUCStringEncoding:
                    NSLog(@"NSJapaneseEUCStringEncoding");
                    break;
                case NSUTF8StringEncoding:
                    NSLog(@"NSUTF8StringEncoding");
                    break;    
                default:
                    NSLog(@"%lu",encoding);
                    break;
            }
            
            
        }
    }];
    
    
}