import UIKit
struct PropertyKeys {
static let keyHightScore = "hightScore"
static let keyLastScore = "lastScore"
static let keyCurrentScore = "currentScore"
}
class GameSetting: NSObject, NSCoding {
var hightScore: Int
var currentScore: Int
var lastScore: Int
var life = 3
override init() {
hightScore = 0
currentScore = 0
lastScore = 0
super.init()
loadGameSetting()
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeInteger(hightScore, forKey: PropertyKeys.keyHightScore)
aCoder.encodeInteger(currentScore, forKey: PropertyKeys.keyCurrentScore)
aCoder.encodeInteger(lastScore, forKey: PropertyKeys.keyLastScore)
}
required convenience init?(coder aDecoder: NSCoder) {
var hightScore = aDecoder.decodeIntegerForKey(PropertyKeys.keyHightScore)
var currentScore = aDecoder.decodeIntegerForKey(PropertyKeys.keyCurrentScore)
var lastScore = aDecoder.decodeIntegerForKey(PropertyKeys.keyLastScore)
self.init(hightScore: Int, currentScore: Int, lastScore: Int) {
self.hightScore = hightScore
self.currentScore = currentScore
self.lastScore = lastScore
}
}
func recordScore(score: Int) {
if score > hightScore { hightScore = score }
lastScore = score
saveGameSetting()
}
func saveGameSetting() {
NSUserDefaults.standardUserDefaults().setInteger(hightScore, forKey: PropertyKeys.keyHightScore)
NSUserDefaults.standardUserDefaults().setInteger(lastScore, forKey: PropertyKeys.keyLastScore)
}
func loadGameSetting() {
hightScore = NSUserDefaults.standardUserDefaults().integerForKey(PropertyKeys.keyHightScore)
lastScore = NSUserDefaults.standardUserDefaults().integerForKey(PropertyKeys.keyLastScore)
}
override var description: String {
return "HighScore: \(self.hightScore), lastScore: \(self.lastScore), currenScore: \(self.currentScore)"
}
func reset() {
currentScore = 0
}
func resetHightScore() {
hightScore = 0
lastScore = 0
saveGameSetting()
}
}
Что не так? Я не понимаю эту ошибку.Невозможно вызвать «GameSetting.init» с списком аргументов типа
Я ничего не могу найти по этому вопросу.
Я хочу, чтобы сохранить и закончил счет загрузки данных, и я после этого примера: https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson10.html
Невозможно вызвать «GameSetting.init» с помощью списка аргументов типа (hightScore: Int.Type, currentScore: Int.Type, lastScore: Int.Type,() ->()) ' –