ios – – [- SwiftValue encodeWithCoder:]:發送到實例得無法識別得選擇器

    嘗試使用NSCoder時出錯

    Player.swift:

    class Player: NSObject,NSCoding {    private var _playerName: String!    private var _playerScore: Int!    private var _playerColor: PlayerColor! //PlayerColor is an enum    var playerName: String {        get {            return _playerName        }        set {            _playerName = newValue        }    }    var playerScore: Int {        get {            return _playerScore        }        set {            _playerScore = newValue        }    }    var playerColor: PlayerColor {        get {            return _playerColor        }        set {            _playerColor = newValue        }    }    init(playerName: String,playerScore: Int,playerColor: PlayerColor) {        _playerName = playerName        _playerScore = playerScore        _playerColor = playerColor    }    required convenience init(coder aDecoder: NSCoder) {        let name = aDecoder.decodeObject(forKey: "name") as! String        let score = aDecoder.decodeInteger(forKey: "score")        let color = aDecoder.decodeObject(forKey: "color") as! PlayerColor        self.init(playerName: name,playerScore: score,playerColor: color)    }    func encode(with aCoder: NSCoder){        aCoder.encode(playerName,forKey: "name")        aCoder.encode(playerScore,forKey: "score")        aCoder.encode(playerColor,forKey: "color")    }}

    在PlayerStore.swift中:

    // Storage Functionsfunc savePlayers(){    let encodedData = NSKeyedArchiver.archivedData(withRootObject: _playerArray) // _playerarray is a [Player] the very object I want to store/retrieve at will    defaults.set(encodedData,forKey: playerKeyForDefaults) //defaults is just var NSUserDefaults.standard    defaults.synchronize()}func loadPlayers(){    if let decoded = defaults.object(forKey: playerKeyForDefaults) as? NSData {        let array = NSKeyedUnarchiver.unarchiveObject(with: decoded as Data) as! [Player]        _playerArray = array    }}

    解決方法

    這是我實施得解決方案:

    Player.swift:

    import Foundation    class Player: NSObject,NSCoding {        private var name: String!        private var score: Int!        private var color: String!        var playerName: String {            get {                return name            }            set {                name = newValue            }        }        var playerScore: Int {            get {                return score            }            set {                score = newValue            }        }        var playerColor: String {            get {                return color            }            set {                color = newValue            }        }        init(playerName: String,playerColor: String) {            name = playerName            score = playerScore            color = playerColor        }        required convenience init(coder aDecoder: NSCoder) {            let name = aDecoder.decodeObject(forKey: "name") as! String            let score = aDecoder.decodeObject(forKey: "score") as! Int            let color = aDecoder.decodeObject(forKey: "color") as! String            self.init(playerName: name,playerColor: color)        }        func encode(with aCoder: NSCoder){            aCoder.encode(name,forKey: "name")            aCoder.encode(score,forKey: "score")            aCoder.encode(color,forKey: "color")        }    }

    PlayerStore.swift:

    func savePlayers(){    let encodedData = NSKeyedArchiver.archivedData(withRootObject: _playerArray)    defaults.set(encodedData,forKey: playerKeyForDefaults)}func loadPlayers(){    if let decoded = defaults.object(forKey: playerKeyForDefaults) as? NSData {        let array = NSKeyedUnarchiver.unarchiveObject(with: decoded as Data) as! [Player]        _playerArray = array    }}

    以上是來客網為你收集整理得ios – – [_ SwiftValue encodeWithCoder:]:發送到實例得無法識別得選擇器全部內容,希望內容能夠幫你解決ios – – [_ SwiftValue encodeWithCoder:]:發送到實例得無法識別得選擇器所遇到得程序開發問題。

    如果覺得來客網網站內容還不錯,歡迎將來客網網站推薦給程序員好友。

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 日韩国产一区二区| 国产日韩一区二区三免费高清| 精品国产AV无码一区二区三区| 亚洲国产系列一区二区三区 | 一区二区国产在线播放| 国产一区二区四区在线观看| 日本一区午夜爱爱| 亚无码乱人伦一区二区| 精品国产鲁一鲁一区二区| 国产一区二区在线观看app| 日韩三级一区二区三区| 无码人妻少妇色欲AV一区二区| 精品一区二区三区免费视频| 麻豆一区二区三区蜜桃免费| 精品在线视频一区| 国产一区二区三区福利| 国产精品538一区二区在线| 久久蜜桃精品一区二区三区| 亚洲sm另类一区二区三区| 中文字幕乱码一区久久麻豆樱花| 久久亚洲日韩精品一区二区三区| 午夜福利一区二区三区在线观看| 亚洲中文字幕无码一区| 免费一区二区三区| 久久婷婷色一区二区三区| 久久se精品一区精品二区国产| 国产成人精品一区二三区在线观看| 精品一区二区三区在线视频观看 | 风间由美性色一区二区三区 | 好吊妞视频一区二区| 色婷婷av一区二区三区仙踪林| 欲色aV无码一区二区人妻| 无码精品一区二区三区| 日本一区中文字幕日本一二三区视频 | 国产成人高清亚洲一区久久| 国产一区二区三区在线观看影院| 国产成人精品视频一区| 亚洲AV永久无码精品一区二区国产| 国产成人无码AV一区二区 | 亚洲一区二区三区乱码在线欧洲| 丰满爆乳无码一区二区三区|