ios – 检查选项时使用的“AnyObject”类型的非可选表达式

我在’Dictionary’上创建了一个扩展来帮助我解析 JSON.下面的方法帮助我这样做:
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 {

我收到一条警告,说“检查选项时使用的’AnyObject’类型的非可选表达式”

我该如何解决这个问题?

解决方法

只需从代码中删除导致警告的行,并按原样传递自己的JSONSerialization函数.这应该没有任何问题:
extension Dictionary {

    func toJSONString() -> String? {
        if let data = try? JSONSerialization.data(withJSONObject: self,encoding: String.Encoding.utf8) {
                return json
            }
        }

        return nil
    }
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...