Wednesday, October 28, 2026
HomeiOS Developmentios - Basis.Date turns to nil after coming back from perform

ios – Basis.Date turns to nil after coming back from perform

[ad_1]

I’ve some decoders for various varieties.
On this perform decoders for date are creating.

personal static var __once: () = {
//doable codecs
    let formatters = [
        "yyyy-MM-dd",
        "yyyy-MM-dd'T'HH:mm:ssZZZZZ",
        "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ",
        "yyyy-MM-dd'T'HH:mm:ss'Z'",
        "yyyy-MM-dd'T'HH:mm:ss.SSS",
        "yyyy-MM-dd HH:mm:ss"
    ].map { (format: String) -> DateFormatter in
        let formatter = DateFormatter()
        formatter.locale = Locale(identifier: "en_US_POSIX")
        formatter.dateFormat = format
        formatter.timeZone = TimeZone(secondsFromGMT: 0)
        return formatter
    }
    // Decoder for Date
    Decoders.addDecoder(clazz: Date.self) { (supply: AnyObject, occasion: AnyObject?) -> Decoded<Date> in
       if let sourceString = supply as? String {
            for formatter in formatters {
                if let date = formatter.date(from: sourceString) {
                    return .success(date) //on this state date = 2022-03-26 05:45:00 +0000 (not nil)
                }
            }
        }
        ...some code
    }

Decoder calls right here. It work proper means for an additional varieties, however “date” turns to nil after coming back from decoder perform.

static func decodeOptional<T>(clazz: T.Sort, supply: AnyObject?) -> Decoded<T?> {
    if let supply = supply, !(supply is NSNull) {
        swap Decoders.decode(clazz: clazz, supply: supply, occasion: nil) { //this perform name decoder for date from above. 
        case let .success(worth): return .success(worth) // however date on this assertion turns no nil
        case let .failure(error): return .failure(error)
        }
    } else {
        return .success(nil)
    }
}

Why Date object turns from actual worth to nil after coming back from perform?

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments