macOS/iOS API解説

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

目次

-initWithBytes:length:encoding:

INDEX>Foundation>NSString>

指定したバイト列と長さとエンコーディングでNSStringを作って返します

Objective-C

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

swift

convenience init?(bytes bytes: UnsafePointer<Void>,
           length length: Int,
         encoding encoding: UInt)

解説

指定したバイト列と長さとエンコーディングでNSStringを作って返します。
NSStringEncoding

返り値

Objective-C

( id )

データ(NSStringまたはそのサブクラス)

引数

( const void * )bytes

バイト列のポインタ

( NSUInteger )length

バイト長

( NSStringEncoding  )encoding 

エンコーディング  NSStringEncoding

クラス

NSString

使用可能

10.0
2.0

例文

#pragma mark initWithBytes:length:encoding
- (void)displayText016:(NSString *)text {
	self.fileString = text;
    NSLog(@"text %@",text);
}
-(void)method016
{
    //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*  theDoc = [[opPanel URLs] objectAtIndex:0];
            
            // Open  the document.
            NSData *dat = [NSData dataWithContentsOfURL: theDoc ];
            
            NSString *output = [[NSString alloc] initWithBytes:[dat bytes]
                                                        length:[dat length]
                                                      encoding:NSShiftJISStringEncoding];
            
            
            
            [self performSelectorOnMainThread:@selector(displayText016:) withObject:output waitUntilDone:NO];
            
        }
    }];   
}

編集時のバージョン

OS X10.8,iOS6.1