2017-08-16 7 views
-1

私はTeamsのクラスを作成し、forループを使用してこのクラスの20個のオブジェクトを作成したいとします。forループを使用して20種類のオブジェクトを作成する

理想的にはループは、「Team2を」「Team1を」リスト「Team0」としてチームを作成する必要があります...など

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

を書くことができます:= [チーム] [チーム]() – ishegg

答えて

0

あなたのコードは、配列へのあなたのチームを追加を試みませんし、各チームのnumプロパティを設定しようとしません。変数は小文字で始めるべきか

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

注:

あなたはこのようなものが必要。

あなたの配列タイプが間違っていることに注意してください。 Stringの配列ではなく、Teamの配列である必要があります。

変数宣言Team[i]が無効であったことに注意してください。

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

は、その後、あなたのループ内で、置き換えることができる:

また、数を取ること、あなたのTeamクラスにinitメソッドを追加したい場合がありますだけで

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

let team = Team(i) 
0

class Team{ 
    let num:Int 

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

あなたはあなたはそれがチームの配列、VaRのチームにする必要があり...文字列の配列としてチームを設定

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

結果

teams[0].num // 0 
teams[1].num // 1 
teams[2].num // 2 
関連する問題