Как получить доступ к объектам в классе - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь заставить функцию создать нового игрока (registerNewPlayer) из регистрационной формы. Проблема, с которой я сталкиваюсь, состоит в том, что, как только объект игрока создан, я не могу получить доступ к информации об игроке, чтобы изменить переменные, такие как имя игрока или ценность золота игрока. Как получить доступ к объектам в классе без идентификатора или как я могу создать функцию создания нового игрока с идентификатором?

class Players {

    var name: String
    var gold: Int
    var accountPassword: String

    init (name:String, gold: Int, accountPassword: String) {
        self.name = name; self.gold = gold; self.accountPassword = accountPassword
    }
}

func registerNewPlayer (playerName: String, password: String) -> Players {
    let registree = Players(name: playerName, gold: 0, accountPassword: password)
    return registree
}

registerNewPlayer(playerName: "Bob", password: "abc")

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Исправлено было размещение возвращаемого объекта в массив игроков в выражении init {} класса Players. Это позволяет идентифицировать игроков по номеру индекса массива.

0 голосов
/ 29 апреля 2018

Вам необходимо назначить нового игрока переменной, чтобы вы могли получить к нему доступ позже.

var playerOne = registerNewPlayer(playerName: "Bob", password: "abc")

print(playerOne.name) // Prints "Bob"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...