Objective-C获取用户完整路径

时间:2010-08-10 07:24:01

标签: objective-c cocoa

我正在使用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;
 }

2 个答案:

答案 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等路径相关的方法速度快于非优化替代方案。

你得到的输出是什么?