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 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 视频在线观看一区| 多人伦精品一区二区三区视频| 亚洲va乱码一区二区三区| 国产精品视频免费一区二区三区| 精品一区二区三区免费观看| 无码一区二区波多野结衣播放搜索| 久99精品视频在线观看婷亚洲片国产一区一级在线| 亚洲韩国精品无码一区二区三区| 日本一区二区三区不卡在线视频| 亚洲一区二区三区免费观看| 国产成人精品无码一区二区| 台湾无码AV一区二区三区| 日韩在线一区二区三区免费视频| 成人精品一区二区激情| 国产成人精品第一区二区| 日韩精品乱码AV一区二区| 无码精品一区二区三区免费视频| 中文字幕一区二区三区在线不卡| 亚洲av片一区二区三区| 亚洲成a人一区二区三区| 午夜视频久久久久一区| 一区二区三区免费在线视频| 国产一区二区三区在线看片| 国产伦精品一区二区三区免.费 | 鲁大师成人一区二区三区| 日韩成人无码一区二区三区| 日本一道高清一区二区三区| 亚洲日韩中文字幕一区| 亚洲熟妇无码一区二区三区| 亚洲AV无码一区二区三区牲色| 亚洲精品国产suv一区88| 免费高清av一区二区三区| 国产品无码一区二区三区在线| 日韩在线一区视频| 日韩精品无码久久一区二区三 | 国产一区二区三区美女 | 果冻传媒一区二区天美传媒| 精品国产毛片一区二区无码| 日韩人妻无码一区二区三区久久99 | 精品亚洲A∨无码一区二区三区| 日韩高清国产一区在线|