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无码片区一区二区三区| 国产成人一区二区三区视频免费| 久久精品国产AV一区二区三区 | 亚洲V无码一区二区三区四区观看| 国产午夜精品一区二区三区小说| 夜夜添无码一区二区三区| 国产一区二区三区在线观看精品| 国产精品亚洲不卡一区二区三区| 国产婷婷色一区二区三区| 一区二区在线免费观看| 无码人妻啪啪一区二区| 波多野结衣中文一区二区免费| 伊人激情AV一区二区三区| 国产午夜精品片一区二区三区| 国产一区二区三区免费在线观看| 日本精品一区二区三区在线观看| 精品无码一区二区三区爱欲九九| 男人的天堂精品国产一区| 亚洲一区二区无码偷拍| 国产午夜精品一区二区三区不卡| 无码人妻精品一区二区| 亚洲欧美日韩国产精品一区| 中文字幕亚洲一区二区三区| 日韩在线不卡免费视频一区| 曰韩人妻无码一区二区三区综合部| 一本色道久久综合一区| 精品一区高潮喷吹在线播放| 一区二区三区日本视频| 伊人久久一区二区三区无码| 中文字幕一区在线| 欧美激情一区二区三区成人| 果冻传媒一区二区天美传媒| 日韩综合无码一区二区| 中文字幕一区二区日产乱码| 无码国产精品一区二区免费3p | 亚洲一区二区三区夜色| 亚洲一区爱区精品无码| 亚洲伦理一区二区| 精品国产一区二区22| 日韩欧国产精品一区综合无码| 亚洲一区二区三区不卡在线播放|