88

ローカル ファイル (ドキュメント フォルダー内) のパスを提供するNSURLオブジェクトがあります。NSDataこのファイルの内容をオブジェクトに入力したいと考えています。使用してみdataWithContentsOfURL:ましたが、これは失敗します。SDKiPhoneがパスを返すので、ファイルが存在することがわかります。

ローカルファイルNSDataからオブジェクトを取得する方法を教えてください。URL

ありがとう。

4

5 に答える 5

168
// Given some file path URL: NSURL *pathURL
// Note: [pathURL isFileURL] must return YES
NSString *path = [pathURL path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];

スウィフトコード:

let data = FileManager.default.contents(atPath: path)
于 2009-10-03T17:43:48.933 に答える
29

この作業を行うには、次のことを行う必要があります。

NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"search" withExtension:@"png"];
NSString*stringPath = [imgPath absoluteString]; //this is correct  

//you can again use it in NSURL eg if you have async loading images and your mechanism 
//uses only url like mine (but sometimes i need local files to load)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]];
UIImage *ready = [[[UIImage alloc] initWithData:data] autorelease];
于 2012-11-16T09:33:43.187 に答える
0
guard let data = FileManager.default.contents(atPath: path) else
    { ...
于 2020-03-31T12:34:10.020 に答える