当前位置: 代码迷 >> Iphone >> NSString类型如何转换成NSURL型(涉及文件删除)
  详细解决方案

NSString类型如何转换成NSURL型(涉及文件删除)

热度:87   发布时间:2016-04-25 06:44:09.0
NSString类型怎么转换成NSURL型(涉及文件删除)?
事情是这样:我用的教程有点老,工具是xcode 4.2,机器是X 10.7.3 。书中的部分语法已经弃用,其中有一个是删除文件的方法 - (BOOL)removeFileAtPath:(NSString *)path handler:(id)handler 已经被弃用,其替代者是 - (BOOL)removeItemAtURL:(NSURL *)URL error:(NSError **)error 问题就是我怎么把那个 (NSString *)path 转换成 (NSURL *)URL 。例子中的相关代码如下:

 NSString *fName = @"testfile";

 if ([fm removeFileAtPath: fName handler: nil] == NO)
  {
  NSLog (@"File removal failed!");
  return 6;
  }

我改成这样但是删不掉,也不确定对不对

NSString *fName = @"testfile";

if ([fm removeItemAtURL: [NSURL URLWithString: [fName stringByAppendingFormat: fName]] error: nil]== NO)
  {
  NSLog (@"File removal failed!");
  return 6;
  }



是转换问题还是文件问题?

------解决方案--------------------
path 指的是你的文件路径,不是文件名。

假设你的文件打包在主项目中:

NSString* filePath = [[NSBundle mainBundle] pathForResource:"testFile" ofType:"xml"];
------解决方案--------------------
得把路径加上,不光是文件名
------解决方案--------------------
探讨

引用:

得把路径加上,不光是文件名

我的文件和程序在同一目录,而且其他的操作都没问题

------解决方案--------------------

- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error
------解决方案--------------------
或者用
[fm removeItemAtURL: [NSURL fileURLWithPath:(NSString *)path]]试试,path是你以前的文件路径。
------解决方案--------------------
不用转换。就用8楼的。