저는 신속한 작업에 익숙하지 않습니다. 플레이어를 배열에 추가하고 다시 시작하는 경우 상위 5 명이 이름과 점수를 포함하는 게임을 만들려고합니다. 게임은 선수를 "삭제", 그래서, 그것은 코드가 무엇인지에 상관없이 작동하지 않습니다 (난 그냥 5 문자열과 5 개 정수를 저장해야합니다) NSUserDefaults를 사용하는 것을 시도하고있다 :NSUserDefaults를 사용하여 객체의 배열을 저장합니다.
class scoreController: UITableViewController {
var playersArray:[Player] = [Player]()
var nameFromGame = "" //name from game vc
var timeFromGame = 0 //time from game vc
let tmpPlayer = Player(playerName: "", scoreTime: 0)
let playerDefaults = NSUserDefaults.standardUserDefaults()
override func viewDidLoad() {
super.viewDidLoad()
let player1 = Player(playerName: "Bil", scoreTime: 50)
let player2 = Player(playerName: "Bob", scoreTime: 100)
playersArray.append(player1)
playersArray.append(player2)
tmpPlayer.playerName = nameFromGame
tmpPlayer.scoreTime = timeFromGame
playersArray.append(tmpPlayer)
playerDefaults.setObject(playersArray[11], forKey: "players")
print(playersArray)
}
}
I 지금은 이것을 저장하려고 시도하고 있으며 충돌이 발생합니다. 왜 그 이유를 알고 있습니까? 또한 데이터를 저장할 수 있도록 어떻게 내 애플 리케이션 에이 저장할 수 있습니까?
감사합니다.
나는 그것을 시도했다 : 예상 선언 – Coder123
아니, 당신은 필요하지 않습니다, 방법은 운영 체제에 의해 정기적으로 호출됩니다. – vadian
그러나 기본값을 설정 한 직후 기본값에 액세스하는 경우 변경 후 동기화해야합니다. 또한 앱이 사용자에 의해 중단되거나 중지 될 가능성이 항상 있습니다.이 경우 기간 동기화가 발생하지 않을 수 있습니다. – milesper