Swift:init对象错误:无法转换类型为';NSNull';(0x1090c0918)至';NSString';

Swift:init对象错误:无法转换类型为';NSNull';(0x1090c0918)至';NSString';,swift,Swift,我正在尝试生成对象,如下所示: extension Books { init?(fromDict dict: [String: Any]) { guard let title = dict["title"], let caption = dict["caption"] else { return nil } self.init( title: title as!

我正在尝试生成对象,如下所示:

extension Books {
    init?(fromDict dict: [String: Any]) {
        guard
            let title = dict["title"],
            let caption = dict["caption"]
            else { return nil }
        self.init(
            title: title as! String,
            caption: caption as! String
        )
    }

    static func books(fromDictArray array: [[String: Any]]) -> [GettyTwo?] {
        return array.map(Books.init)
 }
但在这方面:

caption: caption as! String
我得到了这个错误:

Could not cast value of type 'NSNull' (0x1090c0918) to 'NSString' (0x1086cbc60).
验证所有值均不为NSNull的最佳方法是什么


我将非常感谢您的帮助。

可能是的副本,所以只需将石膏向上移动到
防护装置中
——例如
guard let title=dict[“title”]as?字符串,…
也相关: