如何在Swift中检查可选项是否为nil?
我正在尝试评估解析JSON是否成功。当传递无效的JSON时,应该打印错误消息,但是会出现EXC_BAD_INSTRUCTION错误。
func parseJson(data: NSData) {
var error: NSError?
var json: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary
if let err = error {
println("error parsing json")
return
}
println("json parsed successfully")
}
尝试使用有效的JSON运行(正常工作):
parseJson(NSData(data: "{}".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)))
尝试使用无效的JSON:
parseJson(NSData(data: "123".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)))
我在处理可选项时是否有所遗漏?