macOS/iOS API解説

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

目次

+arrayWithContentsOfFile:

INDEX>Foundation>NSArray

ファイルの内容で配列を作って返します
+(id)arrayWithContentsOfFile:(NSString *)aPath

解説

パスで指定したファイルの内容で配列を作って返します。
ファイルは-writeToFile:atomically で書き出されたプロパティリスト形式の配列のファイルでないといけません。
配列の内容はNSString、NSData、NSArray、NSDictionaryだけを含まないといけません。
ファイルの内容を解析できなかったり、ファイルを開くことが出来なければnilを返します。

この配列が変更可能であっても、配列に含まれるオブジェクトは変更不可になります。

ファイルパスよりもURLを使うことが推奨されていますので+arrayWithContentsOfURL: を使うべきでしょう。

返り値

( id )

配列(NSArrayまたはそのサブクラス)

引数

( NSString * )aPath

ファイルパス

使用可能

10.0
iOS2.0

例文

iOS

#pragma mark arrayWithContentsOfFile:
-(void)method012
{
    NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"plistfile" ofType:@"plist"];
    
    NSArray *anArray = [NSArray arrayWithContentsOfFile:resourcePath];
    NSLog(@"012 = %@",[anArray description]);
    
    //バンドル内のplistfile.plistファイルからNSArrayがつくられる。
    //ファイルがないと例外が投げられます。
    //=>(aaa,2,bbb,ccc)
}
#import "SetImage.h"

@implementation SetImage

- (IBAction)set:(id)sender
{
    //開けるファイル拡張子の配列
    NSArray      *imgTypes    = [ NSArray arrayWithObject : @"txt" ];
    //OpenPanelを作る
    NSOpenPanel  *opPanel       = [ NSOpenPanel openPanel ];
    
    NSMutableArray      *muArr = [NSMutableArray array];
    //
    //OpenPanelの結果のボタン番号
    int		  opRet;
     
        //OpenPanelでファイル選択   
    opRet = [ opPanel runModalForDirectory : NSHomeDirectory() //どこのディレクトリを出すか
                                     file : @"Documents" //どのファイルを選択しておくか
                                    types : imgTypes ];//選べるファイルタイプ

    if ( opRet == NSOKButton ) {  // OPENPanelのボタンがOKなら
        muArr = [NSMutableArray arrayWithContentsOfFile:[opPanel filename]];
        NSLog([muArr description]);
    }
}

@end

編集時のバージョン

OS X 10.8
iOS 7.0