Отображаемое имя в ярлыке (swift) - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь установить имя игрока в ярлыке "ScoreForEachRoundTeams". Но когда я пытаюсь это сделать, я получаю сообщение об ошибке: "Значение типа '[Player]?' У меня нет участника 'name' "

    var finalScoreEachRound : [Player]? // Here I call after my "Player" class
    @IBOutlet weak var scoreForEachRoundTeams: UILabel!
     var competitions : [Comepetitions]?
    let scoreForEachRoundCell = "scoreForEachRoundCell"

    override func viewDidLoad() {
        super.viewDidLoad()
        print(Player.self)

        scoreForEachRoundTeams.text = finalScoreEachRound.name //Here I try show my Player name 
    }

Вот мой класс игрока

   var name : String?
   var score : Int
   var scoreForEachRound: [Int] = []

   public var description: String { return "\(String(describing: name)) : \(score)" }

   init(name: String?, score: Int) {
       self.name=name
       self.score=score

   }
   static func < (lhs: Player, rhs: Player) -> Bool {
       return lhs.score > rhs.score
   }

   static func == (lhs: Player, rhs: Player) -> Bool {
       return lhs.name == rhs.name && lhs.score == rhs.score
   }

   func totalScore() -> Int {
       var totalScore = 0
       for score in scoreForEachRound{
           totalScore += score
       }
       return totalScore
   }
}

1 Ответ

0 голосов
/ 26 февраля 2020

finalScoreEachRound - это массив, а не одно свойство. Вам нужно

scoreForEachRoundTeams.text = finalScoreEachRound?.first?.name ?? "No init"

для всех

scoreForEachRoundTeams.text = finalScoreEachRound!.compactMap { $0.name }.joined(separator:"---")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...