- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在修改一些代码以在 Mac OS X 和 iPhone OS 之间工作。
我遇到了一些使用 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,它不会提供任何正确方向的指示...
我总是可以手动执行此操作,添加/if 必要和额外的字符串,但我希望使其尽可能接近原始的 Mac OS X 代码...
最佳答案
我会在 NSURL 上实现一个 myURLByAppendingPathComponent:
方法来完成同样的事情。给它起一个不同的名称的原因是,当 Apple 将 10.6 API 移植到 iPhone 时,它不会覆盖 Apple 提供的方法(因此“my”只是一个例子 - 重点是它不太可能被其他人使用)否则会编写一个具有该名称的方法)。
在我看来,你只是想弄乱路径而不是整个 URL。这是一个未经测试的示例:
- (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 : removes a '/' in http://,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579544/
我在 iOS 应用程序和 Foundation 工具中尝试了以下行: [@"http://www.apple.com/" stringByAppendingPathComponent:@"/"] 每次
我的应用程序在 Instagram 上分享照片,为此,它首先将其保存在临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingPa
我的应用程序在 Instagram 上分享照片,为此,它首先将其保存在临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingPa
这个问题已经有答案了: stringByAppendingPathComponent is unavailable (11 个回答) 已关闭 7 年前。 嗯,通常的 Swift 升级需要重写。我古老的
我正在为 Swift 2 更新我的代码,我在本地为用户配置文件保存的图像文件路径遇到了问题。我什至不确定在哪里解决这个问题,我已经尝试使用 URLByAppendPathComponent 但我不确定
我遇到了错误 'stringByAppendingPathComponent' is unavailable: Use 'stringByAppendingPathComponent' on NSSt
我的应用程序在 Instagram 上分享照片,为此它首先将它保存在一个临时目录中: let writePath = NSTemporaryDirectory().stringByAppendingP
我创建了一个名为 dataFilePath() 的函数。此方法在 Documents 目录中创建一个文件 data.plist 并返回它的路径。我想知道..如果 data.plist 已经存在于 Do
我正在尝试通过翻译 Swift 2 的代码来学习 Swift 3。在 Swift 2 中,我看到这样的代码: return fullPath.stringByAppendingPathComponen
EDIT_v002 我已经查看了所有评论,并且开始明白我应该做什么。为此,我修改了我的代码(见下文),我将 newPath 更改为 NSString,删除了 [[alloc] init] 和结束 [r
这个问题已经有答案了: stringByAppendingPathComponent is unavailable (11 个回答) 已关闭 5 年前。 我刚刚将项目转换为 Swift 3,但出现错误
Analyze 显示内存泄漏,我在以下代码片段中为 fileB 分配了 filePath 值: NSString *docsDir = [NSSearchPathForDirectoriesInDom
我有一个带有字符串的 bundel 设置:version 在我的包设置中版本 = 2.9.1 在我的项目中,如果我使用这段代码,一切都很好: NSString *path = [documentsDi
这个问题在这里已经有了答案: stringByAppendingPathComponent is unavailable (11 个答案) 关闭 7 年前。 我刚刚安装了带有新 Swift 2 的
我一直在修改一些代码以在 Mac OS X 和 iPhone OS 之间工作。 我遇到了一些使用 NSURL 的 URLByAppendingPathComponent:(在 10.6 中添加)的代码
当调用 +[NSURL URLWithString:] 时,我有两个构建 URL 的选项: [[@"http://example.com" stringByAppendingPathComponent
我是一名优秀的程序员,十分优秀!