我正在使用XCode学习Objective-C。
我想要获得用户的完整路径目录,我得到“好”的回报,但没有用户完整路径(/ User / Asinox),只是我得到NSPathStore2。
我正在尝试使用NSHomeDirectoryForUser()和StringByExpandingTildeInPath,结果是相同的(NSPathStore2)。
我在MAC OS X 10.6.4上使用XCode 3.2.3和SDK 4.0.1
#import <Foundation/Foundation.h>
void PrintPathInfo(){
//NSString *path = @"~";
NSString *directory = NSHomeDirectoryForUser(@"asinox");//[path stringByExpandingTildeInPath];
NSArray *pathComponents = [directory pathComponents];
NSLog(@"My home folder is at %@", *directory);
NSLog(@"===============================");
for(NSString *ruta in pathComponents){
NSLog(@"%@", ruta);
}
NSLog(@"===============================");
}
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
PrintPathInfo();
[pool release];
return 0;
}
答案 0 :(得分:4)
NSLog(@"My home folder is at %@", *directory);
应该是
NSLog(@"My home folder is at %@", directory);
答案 1 :(得分:1)
NSString
是一个类群。
由于类集群的性质,字符串对象不是NSString或NSMutableString类的实际实例,而是其私有子类之一
NSPathStore2
是一个私有的NSString
子类,可能专门用于处理路径,可能是因为可以执行与stringByAppendingPathComponent:
或pathExtension
等路径相关的方法速度快于非优化替代方案。
你得到的输出是什么?