ios - NSLog 与某些 NSURL 崩溃 - iOS 9.2

标签 ios iphone swift nsurl nslog

这是我的代码,发生崩溃的地方:-

let URL = NSURL(string: "http://files.parsetfss.com/fa80bc63-88d4-412d-a478-2451cffc92a9/tfss-1d2a321d-b02e-4745-a589-e31536f648df-XXXXX%20CAT15%2030.p0001.jpg")
NSLog("Loading page with URL: \(URL)")

应用程序崩溃并显示 EXC_BAD_ACCESS

最佳答案

NSLog() 的第一个参数是一个格式字符串,包含 format specifiers (以 % 开头)由 以下变量参数列表。在您的情况下 %20C 是格式说明符,但是 没有提供匹配的参数。这会导致未定义的行为, 它可能会崩溃或产生不完整或错误的输出。

如果你想使用 NSLog() 那么一个通用的安全方法是

NSLog("%@", "Loading page with URL: \(URL)")

在这种特殊情况下,

NSLog("Loading page with URL: %@", URL)

也可以工作,因为 NSURLNSObject 的子类并且可以使用 使用 %@ 格式。

关于ios - NSLog 与某些 NSURL 崩溃 - iOS 9.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35335885/

相关文章:

ios - swift 3 : Handle Errors in URLSession Delegates

ios - NSURLSession 请求和响应

ios - Swift:UIButton 自定义

ios - 快速处理异常

iphone - 如何创建一个每周更新的类似 iPhone 应用程序的新闻

ios - 在倒计时结束时重置或更改按钮标题

iphone - 使用 TouchesMoved 跟踪两根手指

iphone - 如何使用 UIColor 类设置全局变量

ios - DateFormatter 在 iPhone 上返回 nil,但在模拟器上不返回

ios - SKStoreProductViewController 取消按钮留下白色空白屏幕