1

新的objective-c。如何从完整文件路径中获取目录?

所以如果我有

/User/Test/Desktop/test.txt 

我想

/User/Test

在Objective-C中是否还有与.NET中的Path.Combine等价的东西?

4

2 回答 2

4

-[NSString pathComponents]返回一个NSArray路径组件。

例如

NSString *path = @"/User/Test/Desktop/test.txt";
NSArray *components = [path pathComponents];
NSLog(@"%@", components); //=> ( /, User, Test, Desktop, test.txt )

然后,您可以只使用您需要的组件并使用它们构建新路径,例如

NSString *newPath =
    [NSString pathWithComponents:
        [components subarrayWithRange:(NSRange){ 0, components.count - 2}]];
NSLog(@"%@", newPath); // => /User/Test/
于 2013-11-12T06:57:13.083 回答
3

阅读Apple文档的Working with Paths部分,您会找到可以回答您问题的方法。例如,删除离开包含目录的路径的最后一个组件。NSStringstringByDeletingLastPathComponent

于 2013-11-12T07:12:51.990 回答