【问题标题】:NSString to NSURL conversion removing some part of pathNSString 到 NSURL 的转换删除了部分路径
【发布时间】:2016-12-30 05:55:50
【问题描述】:

我已附上我在控制台中登录的 url 和路径的图像。当我将我的字符串转换为 URL 时,为什么它的某些部分被删除了。

"..." 被添加到 url 中以代替某些路径。

谁能建议任何可以在 URL 中给我完全相同的字符串的方法。

NSString *path=[[NSBundle mainBundle] pathForResource:@"smiley" ofType:@"gif"];
NSURL *url = [[NSURL alloc] initWithString:path];

【问题讨论】:

  • 你可以尝试使用 NSLog 记录你的 url,比如 NSLog(@"url is: %@ ", [url absoluteString]);
  • NSURL *fileURL = [NSURL fileURLWithPath:filepath];
  • @iYoung [url absoluteString] 有效,但它是一个字符串,当我通过它时,它会给我警告。我需要将其用作 url。
  • @Birendra - 当我使用“fileURLWithPath:”时,它会在路径前添加“file://”,“initWithString”也是如此。
  • 您必须从 url 中删除“file://”?如果是,那为什么?

标签: ios objective-c nsurl


【解决方案1】:

URL 总是以方案开头(http://ftp://file:// 等),要从以单斜杠开头的文件系统路径创建 URL,您必须使用 API fileURLWithPath,它添加了file:// 方案。

不过最简单的解决方法是使用NSBundle的URL相关API:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"smiley" withExtension:@"gif"];

【讨论】:

    【解决方案2】:

    试试这个代码,

    NSString *path = [[NSBundle mainBundle] pathForResource:@"smiley" ofType:@"gif"];
    NSURL *url = [NSURL fileURLWithPath:path];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-23
      • 2011-12-26
      • 2014-12-27
      • 2012-04-05
      • 2012-11-10
      • 1970-01-01
      • 2012-02-21
      • 1970-01-01
      相关资源
      最近更新 更多