ShootItem.swift 1.37 KB
import Foundation
import GeneralUtils

class ShootItem: Equatable, Mappable {
    var id: Int?
    var name: String?
    var willShoot: Int?
    var signboard: Int?
    var imgs: [ImgObj]?
    var date: Double?
    var note: String?
    var dateStr: String?

    init(id: Int? = nil, name: String? = nil, willShoot: Int? = nil) {
        self.id = id
        self.name = name
        self.willShoot = willShoot;
    }

    func addImg(img: ImgObj) {
        if imgs == nil { imgs = [ImgObj]() }
        imgs?.append(img)
    }

    func toDic() -> [String: Any] {
        var willShoot = (self.willShoot == nil) ? 0 : 1
        var params: [String: Any] = ["name": name!, "willShoot": willShoot];
        if let id = self.id {
            params["id"] = id;
        }
        return params;
    }

    // region: ========== Mappable
    init() {}
    required init?(map: Map) {}

    func mapping(map: Map) {
        id <- map["id"]
        name <- map["name"]
        willShoot <- map["willShoot"]
        imgs <- map["imgs"]
        dateStr <- map["date"]
        if let dateStr = dateStr {
            date = Double(dateStr);
        }
        note <- map["note"]
    }
    //endregion
}

func ==(lhs: ShootItem, rhs: ShootItem) -> Bool {
    if let lhsName = lhs.name, let rhsName = rhs.name {
        return lhsName == rhsName
    }
    return ObjectIdentifier(lhs) == ObjectIdentifier(rhs)
}