Resolver icon indicating copy to clipboard operation
Resolver copied to clipboard

Could not cast value of type 'Swift.Optional<Swift.Optional<Any>>' to 'Swift.String'

Open KC-218 opened this issue 2 years ago • 3 comments

Sorry, my app crash and get this error.
And this is my code.

@objc protocol Animal {
    var name: String { get }
    @objc optional var running: Bool { get }
}

class Horse: Animal {
    let name: String
    let running: Bool

    init(name: String, running: Bool) {
        self.name = name
        self.running = running
    }

    convenience init(name: String) {
        self.init(name: name, running: false)
    }
}

class ResolverParameterInjectionVC: UIViewController, Resolving {

    override func viewDidLoad() {
        super.viewDidLoad()

        let smallHorse: Animal = Resolver.resolve(name: "small", args: "Spirit")
        let bigHorse: Animal = Resolver.resolve(name: "big", args: ["name": "Lucky", "running": true])        
    }
    
}

extension Resolver {
    public static func registerResolverParameterInjectionVC() {
        
        register { (_, args) in
            Horse(name: args.get())
        }.implements(Animal.self, name: "small")
    
        register { (_, args) in
            Horse(name: args("name"), running: args("running"))
        }.implements(Animal.self, name: "big")
    }
}

KC-218 avatar Sep 12 '22 10:09 KC-218

1

revo1111 avatar Aug 06 '23 21:08 revo1111

这是来自QQ邮箱的自动回复邮件。   邮件已收到

majie776 avatar Aug 06 '23 21:08 majie776

1

revo1111 avatar Aug 06 '23 21:08 revo1111