线程 1 EXC_bad_instruction(代码=exc_1386_invop 子代码=0x0)
Posted
技术标签:
【中文标题】线程 1 EXC_bad_instruction(代码=exc_1386_invop 子代码=0x0)【英文标题】:Thread 1 EXC_bad_instruction (code=exc_1386_invop subcode=0x0) 【发布时间】:2016-10-10 04:32:50 【问题描述】:我对这段代码有疑问。为什么它在“let session”行上给我一个错误“Thread 1 EXC_bad_instruction (code=exc_1386_invop subcode=0x0)”?
import Foundation
protocol WeatherServiceDelegate
func setWeather(weather:Weather)
class WeatherService
var delegate: WeatherServiceDelegate?
func getWeather(city: String)
let path = "http://api.openweathermap.org/data/2.5/weather?q=Boston&"
let url = URL(string: path)
let session = URLSession.shared.dataTask(with: url!) (data: Data?, respone:URLResponse?,error: Error?) in
print(">>>>>\(data)")
session.resume()
【问题讨论】:
我认为在 swift 3 session 中是关键字,所以使用其他词表示 decalration 而且它还给了我一条错误消息“致命错误:在展开可选值时意外发现 nil” @Jecky 我确实尝试更改为不同的单词,但它仍然给我同样的错误 等我查一下 【参考方案1】:如果您在“展开时发现零”,则 url 创建不起作用
一般情况下,您应该尽可能远离 !s 并使用 if let
或 guard let
投射它们。在这种情况下,我不确定它为什么会失败,但是如果您隔离 url 创建,您可能会找出问题所在。
【讨论】:
你是对的,当我发布这个问题时,URL 不起作用。非常感谢您的建议。以上是关于线程 1 EXC_bad_instruction(代码=exc_1386_invop 子代码=0x0)的主要内容,如果未能解决你的问题,请参考以下文章
Swift,线程 1:EXC_BAD_INSTRUCTION 错误
错误“线程 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”是啥意思?
线程 1:EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP,subcode=0*0) 错误
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_1386_INVOP,子代码=0x0)