A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在研究NSFileManager的时候,涉及到文件路径,发现stringByAppendingPathComponent和stringByAppendingString的输出结果一样例如:
  1. NSString *homeDir=NSHomeDirectory();
  2.         NSString *desktopTxt= [NSHomeDirectory() stringByAppendingPathComponent:@"/Desktop/test.txt"];
  3.         NSString *desktopTxt2=[NSHomeDirectory() stringByAppendingString:@"/Desktop/test2.txt"];
  4.         
  5.         NSLog(@"homeDir=%@",homeDir);
  6.         NSLog(@"desktopTxt=%@",desktopTxt);
  7.         NSLog(@"desktopTxt2=%@",desktopTxt2);
复制代码
输出结果一样,都是:
  1. 2016-04-08 13:15:41.365 文件管理[1280:82126] homeDir=/Users/lf
  2. 2016-04-08 13:15:41.365 文件管理[1280:82126] desktopTxt=/Users/lf/Desktop/test.txt
  3. 2016-04-08 13:15:41.365 文件管理[1280:82126] desktopTxt2=/Users/lf/Desktop/test2.txt
  4. Program ended with exit code: 0
复制代码
仔细研究发现,stringByAppendingPathComponent会判断字符串,自动转换为路径,例如:
  1. NSString *desktopTxt= [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop/test.txt"];
复制代码
字符串前面不加“/”,输出结果一样,仍旧为路径
  1. 2016-04-08 13:15:41.365 文件管理[1280:82126] desktopTxt=/Users/lf/Desktop/test.txt
复制代码
如果是stringByAppendingString少了“/”,则输出结果为:
  1. 2016-04-08 13:25:52.988 文件管理[1293:87318] desktopTxt2=/Users/lfDesktop/test2.txt
复制代码
路径不正确了。




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马