NSLog 与某些 NSURL 崩溃 - iOS 9.2
NSLog crashes with certain NSURL- iOS 9.2
这是我的代码,发生崩溃的地方:-
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
你应该使用 println 而不是 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")!
println("Loading page with URL: \(URL)")
我添加了选项标志!最后展开。
NSLog()
的第一个参数是 格式字符串 ,包含
format specifiers(以 %
开头)由
以下变量参数列表。在您的情况下 %20C
是格式说明符,但是
没有提供匹配的参数。这会导致未定义的行为,
它可能会崩溃或产生不完整或错误的输出。
如果你想使用NSLog()
那么一个通用的安全方法是
NSLog("%@", "Loading page with URL: \(URL)")
在这种情况下,
NSLog("Loading page with URL: %@", URL)
也适用,因为 NSURL
是 NSObject
的子类,可以使用
使用 %@
格式。
这是我的代码,发生崩溃的地方:-
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
你应该使用 println 而不是 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")!
println("Loading page with URL: \(URL)")
我添加了选项标志!最后展开。
NSLog()
的第一个参数是 格式字符串 ,包含
format specifiers(以 %
开头)由
以下变量参数列表。在您的情况下 %20C
是格式说明符,但是
没有提供匹配的参数。这会导致未定义的行为,
它可能会崩溃或产生不完整或错误的输出。
如果你想使用NSLog()
那么一个通用的安全方法是
NSLog("%@", "Loading page with URL: \(URL)")
在这种情况下,
NSLog("Loading page with URL: %@", URL)
也适用,因为 NSURL
是 NSObject
的子类,可以使用
使用 %@
格式。