ios中Swift的归档与解档

ios中Swift的归档与解档

归档

 func encode(with aCoder: NSCoder) {
        
        aCoder.encode(self.bssid, forKey: "bssid")
        aCoder.encode(self.ssid, forKey: "ssid")
        aCoder.encode(self.wifiType, forKey: "wifiType")
        aCoder.encode(self.femaleCounter, forKey: "femaleCounter")
        aCoder.encode(self.maleCounter, forKey: "maleCounter")
        aCoder.encode(self.lat, forKey: "lat")
        aCoder.encode(self.lng, forKey: "lng")

    }

解档

 required convenience init?(coder aDecoder: NSCoder) {
        let bssid = aDecoder.decodeObject(forKey: "bssid") as! String
        let ssid = aDecoder.decodeObject(forKey: "ssid") as! String
        let wifiType = aDecoder.decodeInteger(forKey: "wifiType")
        let femaleCounter = aDecoder.decodeInteger(forKey: "femaleCounter")
        let maleCounter = aDecoder.decodeInteger(forKey: "maleCounter")
        let lat = aDecoder.decodeDouble(forKey: "lat")
        let lng = aDecoder.decodeDouble(forKey: "lng")
        
        self.init(bssid: bssid, ssid: ssid, wiFiType: wifiType,lat:lat,lng:lng, femaleCounter: femaleCounter, maleCounter: maleCounter)
    }

init()方法

  init(bssid: String, ssid: String, wiFiType: Int,lat:Double,lng:Double, femaleCounter: Int, maleCounter: Int) {
        self.bssid = bssid
        self.ssid = ssid
        self.wifiType = wiFiType
        self.maleCounter = maleCounter
        self.femaleCounter = femaleCounter

    }

设置属性

 var bssid: String?
    var ssid: String?
    var coordinate: CLLocationCoordinate2D?
    var femaleCounter = 0
    var maleCounter = 0
    var wifiType:Int = 0
    var lat:Double = 0.0
    var lng:Double = 0.0

你可能感兴趣的:(ios中Swift的归档与解档)