ファイルの内容で配列を作って返します
+(id)arrayWithContentsOfFile:(NSString *)aPath
解説
パスで指定したファイルの内容で配列を作って返します。
ファイルは-writeToFile:atomically で書き出されたプロパティリスト形式の配列のファイルでないといけません。
配列の内容はNSString、NSData、NSArray、NSDictionaryだけを含まないといけません。
ファイルの内容を解析できなかったり、ファイルを開くことが出来なければnilを返します。
この配列が変更可能であっても、配列に含まれるオブジェクトは変更不可になります。
ファイルパスよりもURLを使うことが推奨されていますので+arrayWithContentsOfURL: を使うべきでしょう。
返り値
( id )
配列(NSArrayまたはそのサブクラス)
引数
( NSString * )aPath
ファイルパス
使用可能
10.0
iOS2.0
例文
#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