用于检查可选项的非可选expression式“AnyObject”
我在'Dictionary'上创build了一个扩展来帮助我parsingJSON。 下面的方法可以帮助我做到这一点:
func toJSONString() -> String? { if let dict = self as? AnyObject { if let data = try? JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions(rawValue: 0)) { if let json = String(data: data, encoding: String.Encoding.utf8) { return json } } } return nil }
这一问题发生在这一行上:
if let dict = self as? AnyObject {
我得到一个警告,说“检查optionals中使用的非可选types的AnyObject”
我该如何解决这个问题?
只需从代码中删除导致警告的行,然后像JSONSerialization
函数那样传递self
的JSONSerialization
。 这应该没有任何问题:
extension Dictionary { func toJSONString() -> String? { if let data = try? JSONSerialization.data(withJSONObject: self, options: JSONSerialization.WritingOptions(rawValue: 0)) { if let json = String(data: data, encoding: String.Encoding.utf8) { return json } } return nil } }
你正在解开已经解开的东西。 看看这个stackoverflowpost