2017-08-16 108 views
-1

我創建了一個Teams的類,並且想要使用for循環創建該類的20個對象。使用for循環創建20個不同的對象

理想的循環應該創建團隊的名單「Team0」,「TEAM1」,「的Team2」 ......等

class Team{ 
    //Alphabetical Order Number 
    var num = "0" 

    init(){ 
     print("New team") 
    } 
} 
var Teams = [String]() 
for i in 1...5{ 
    var Team[i] = Team() 
    print(i) 

} 
+1

您可以設置團隊作爲一個字符串數組...它必須是團隊的數組,VAR團隊:團隊] = [球隊]() – ishegg

回答

0

您的代碼並沒有試圖您的團隊添加到陣列中和它不會嘗試設置每個團隊的num屬性。

你需要的東西是這樣的:

var teams = [Team]() 
for i in 1...20 { 
    let team = Team() 
    team.num = "\(i)" 
    teams.append(team) 
} 

注意變量應該如何與小寫字母開頭。

請注意您的數組類型是錯誤的。它需要是一個數組Team,而不是數組String

請注意您的變量聲明Team[i]無效。

您可能還需要一個init方法添加到您的Team類,帶有一個數字:

init(_ num: Int) { 
    self.num = "\(num)" 
} 

然後在你的循環中,您可以替換:

let team = Team() 
    team.num = "\(i)" 

只:

let team = Team(i) 
0

鑑於

class Team{ 
    let num:Int 

    init(num:Int) { 
     self.num = num 
    } 
} 

你可以寫

let teams = (0..<20).map(Team.init) 

結果

teams[0].num // 0 
teams[1].num // 1 
teams[2].num // 2