- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的具体问题是关于使用 URLByAppendingPathComponent 但该原则适用于许多其他类/方法和情况。
我有以下(缩写)代码:
NSData *packageData = [[NSData alloc] initWithContentsOfURL:[myDirectoryURL URLByAppendingPathComponent:myFileURL]];
...
ret = [self.fileManager removeItemAtURL: [myDirectoryURL URLByAppendingPathComponent:myFileURL]];
所以我使用 NSURL:URLByAppendingPathComponent 两次并使用相同的参数。我的问题是,这样做更有效,还是创建一个新的 NSURL* 并将对 URLByAppendingPathComponent 的调用结果分配给该结果,然后将其用作 initWithContentsOfURL 和 removeItemAtURL 的参数。我认为第二种方法更好,但由于我对 iOS 和 ARC 还很陌生,所以想仔细检查一下。 (此调用将创建的对象的生命周期是多少?我正在使用 ARC,因此我认为它们的生命周期是到使用它们的功能 block 范围的末尾。)
最佳答案
保存 URL 比额外创建(和释放)它更有效。
但是,谁在乎呢?您应该问哪一个是最清晰的代码,以便您以后能够理解和维护。您永远不会在紧密循环中从 URL 加载,此时效率可能很重要。
DRY(不要重复自己)原则建议您只创建一次 URL,因为您的代码仅位于一个位置。这样,如果某些内容发生变化(例如,您需要清理 myFileURL 以防止攻击),您只需在一处进行更改。
关于ios - 最有效地使用 URLByAppendingPathComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8681728/
我的具体问题是关于使用 URLByAppendingPathComponent 但该原则适用于许多其他类/方法和情况。 我有以下(缩写)代码: NSData *packageData = [[NSDa
我的程序中有以下内容: return [directory URLByAppendingPathComponent:fileName]; 用调试器检查,fileName 是 __NSCFString
我正在开发一个 cordova 应用程序并尝试将它生成的 swift 代码转换为 swift 3 语法,因为当我尝试构建它时它会产生错误。我有这个功能 init(configuration: WebA
我已阅读文档,看起来某些边缘情况可能有所不同(尾部斜杠等),但我不清楚这两种方法之间的主要区别是什么。 Component 和 Extension 这两个术语在 URL 世界中是否有除我以外的人理解的
在我的项目中,我将 jsondata 保存到名为 AllBooking.json 的本地 json 文件中。 代码: NSURL *fileURL =[[self applicationDocumen
我目前正在 Xcode 7 和 ios 9 上使用 SpriteKit,我遇到了建议的 URLByAppendingPathComponent 方法,该方法用于访问文件的本地 url 并结合 arch
我的错误是:“String”类型的值没有成员“URLByAppendingPathComponent” 我在这一行中遇到了错误: let savePath = documentDirectory.U
我正在关注 a basic tutorial关于在 Swift 中构建一个简单的 iOS 应用程序。 它是用 Swift 2.x 编写的,我使用 XCode 8 Beta 和 Swift 3。 本教程
我正在加载本地 html 页面并在 shouldStartLoadWithRequest: 中使用以下 url: ... /Library/Application%20Support/CDS/%3Fp
我是一名优秀的程序员,十分优秀!