동일한 문제가 계속 발생합니다. 아래 코드에서 클래스의 모든 속성을 초기화하기 전에 makePlayersFrom을 실행하기 때문에 오류가 발생합니다.스위프트 (Swift) : init 메소드에 기능을 추가하는 방법
나는 플레이어를 선택 변수로 사용할 수 있지만, 그렇게해서는 안되며 나쁜 디자인이라고 생각합니다. 또한 init 클래스에 makePlayers 기능을 넣을 수는 있지만 그 또한 나쁜 디자인이라고 생각합니다. (그러나 나는 아는 사람이 아닙니다.) 누구든지 최고의 디자인 원칙을 지키는 방법을 보여줄 수 있습니까?
class Game {
let host:User
var players:[Player]
init(host:User, extraPlayers:Int) {
self.host = host
self.players = makePlayersFrom(host:host, extraPlayers:extraPlayers)
}
private func makePlayersFrom(host:User, extraPlayers:Int) -> [Player] {
// do stuff to get players
return players
}
}