在iOS中找到给定的文件路径有效



我正在尝试创建一个具有接收文件路径(NSString)作为参数的方法。

我需要检查给定的文件路径有效,如果有效,我将在磁盘上进行一些写作操作,否则返回错误。

所以找出给定路径有效的最佳方法是什么?

无需先检查路径是否有效。只需继续尝试创建它,然后检查成功即可。

createFileAtpath:costant:ctatributes: > nsfileManager 返回A bool ,如果文件已经存在或成功创建它,则返回。

我建议使用此方法并检查返回的结果。如果返回否,则返回错误。

// Returns the URL to the application's Documents directory.
- (NSURL *)applicationDocumentsDirectory {
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

以您的示例这将返回

/var/mobile/applications/8EFCBF99-BC19-4AFE-934A-B47CBEDF2971/DOCUMENTS

这对您有帮助吗?我认为该方法包含在使用核心数据的所有Xcode项目类型的AppDelegate中。

这是一个示例:

NSString *validPath = [[[self applicationDocumentsDirectory] path] stringByAppendingPathComponent:@"test"];
NSString *invalidPath = @"/var/mobile/Applications/abc/test";
if (0 == [validPath rangeOfString:[[self applicationDocumentsDirectory] path]].location) {
    // will be executed
    NSLog(@"Valid path");
}
else {
    NSLog(@"Invalid path");
}
if (0 == [invalidPath rangeOfString:[[self applicationDocumentsDirectory] path]].location) {
    NSLog(@"Valid path");
}
else {
    // will be executed
    NSLog(@"Invalid path");
}

最新更新