如何对NSURL路径进行硬编码?

时间:2014-11-26 21:03:05

标签: ios nsurl

所以,这看起来应该很容易,但我很难过......

我正在开发一个iOS应用程序,我正在从服务器下载视频内容,将其存储在文档中的自定义文件夹中,并在某个触发器上尝试播放视频。我在MovieViewController中遇到一些加载错误,所以我试图在单独的独立应用程序中调试从文件路径构造的NSURL。值得注意的是,相同的内容在添加到Bundle时工作正常,但是有很多,所以不能这样做。

无论如何......

我在我的应用程序中设置了断点,并复制了加载到我的电影播放器​​中的NSURL的路径,并尝试在我的测试应用程序中将其硬编码为NSURL。但我似乎不能只为它分配一个预先存在的值......例如。

NSURL *url = "file:///var/mobile/Containers/Data/Application/21078F3B-12C5-4D42-8B8B-3C85CB7A0A91/Documents/SecondStory/BloodAlley/MEDIA/copperthief.mp4" 

(这是我从Debug区域的Variables View中复制出来的)。 它给了我错误:

*“ARC禁止将非Objective-C指针类型'char *'隐式转换为'NSURL '

......我似乎无法追查到......

当然,在转换为NSURL之前,我有文件路径的NSString表示,所以可以尝试重构它,但这让我很好奇为什么我不能只分配一个值...

2 个答案:

答案 0 :(得分:2)

如错误所述,"file:///var/.../copperthief.mp4"char *而不是NSURL

要将其转换为NSURL,首先您必须通过添加 @ 前缀来获得char * NSString代表:< / p>

@"file:///var/.../copperthief.mp4"

然后使用NSString将<{1}}转换为NSURL

URLWithString:

答案 1 :(得分:0)

首先,"..."不是NSString。它是一个C字符串。 NSString是@"...",不是吗?即便如此,如果你想要一个NSURL,你必须从NSString转换为NSURL,不是吗?我的意思是,您不能任何类型的字符串分配给NSSURL变量并期望它能够正常工作,是吗?这是一种计算机语言;你不能说出任何旧的东西 - 你必须遵守规则。