iphone – NSString的stringByAppendingPathComponent:在http:中删除’’

iphone – NSString的stringByAppendingPathComponent:在http:中删除’’,第1张

概述我一直在修改一些代码在Mac OS X和iPhone *** 作系统之间工作。 我遇到了一些使用NSURL的URLByAppendingPathComponent的代码:(10.6中添加),有些人可能会知道这些代码在iPhone SDK中不可用。 我的解决方案使这个代码在 *** 作系统之间工作是使用 NSString *urlString = [myURL absoluteString];urlString 我一直在修改一些代码在Mac OS X和iPhone *** 作系统之间工作。

我遇到了一些使用NSURL的URLByAppendingPathComponent的代码:(10.6中添加),有些人可能会知道这些代码在iPhone SDK中不可用。

我的解决方案使这个代码在 *** 作系统之间工作是使用

Nsstring *urlString = [myURL absoluteString];urlString = [urlString stringByAppendingPathComponent:@"helloworld"];myURL = [NSURL urlWithString:urlString];

这样做的问题是Nsstring的stringByAppendingPathComponent:似乎从URL的http://部分删除了一个/。

这是有意的行为还是一个错误?

编辑

好的,所以我问了上面的问题有点太快了。我重新阅读了文件,它说:

Note that this method only works with file paths (not,for example,string representations of URLs)

但是,如果您需要将路径组件添加到iPhone上的URL,则它不会给出正确方向上的任何指针,要做什么,请执行以下 *** 作:

我可以随时手动进行 *** 作,添加/如果需要和额外的字符串,但我希望保持它尽可能接近原始的Mac OS X代码…

解决方法 我将在NSURL上实现一个myURLByAppendingPathComponent:方法,这样做也是一样。给它一个不同名称的原因是,当苹果公司将10.6 API移植到iPhone时,它不会覆盖苹果提供的方法(所以“我的”仅仅是一个例子 – 关键是它不太可能有人否则会写一个这个名字的方法)。

在我看来,你只想混乱路径而不是整个网址。这是一个未经测试的示例:

- (NSURL *)myURLByAppendingPathComponent:(Nsstring *)component {    Nsstring *newPath = [[self path] stringByAppendingPathComponent:component];    return [[[NSURL alloc] initWithScheme: [self scheme]                                      host: [self host]                                      path: newPath]                                     autorelease];}

它只能与具有类似文件的路径的URL正常工作,但我很确定Apple方法的工作方式相同。无论如何,希望它能帮助你正确的方向。

总结

以上是内存溢出为你收集整理的iphone – NSString的stringByAppendingPathComponent:在http://中删除’/’全部内容,希望文章能够帮你解决iphone – NSString的stringByAppendingPathComponent:在http://中删除’/’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039565.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存