2016-04-18 3 views
0

Wie ich einen einzigartigen Tag UIButton while-Schleife aus dem Array zuweisen kann:zu UIButton zuweisen Tag while-Schleife von Array

var buttonArray: NSMutableArray = ["one", "two", "Three"] // it is a mutable array but for illustration purposes only I put this.... 
for btnName in buttonArray { 

    let button = UIButton(frame: CGRectMake(0,0,100,100)) 

    button.layer.masksToBounds = true 
    button.layer.cornerRadius = 20 
    button.setTitle("\(btnName)", forState: UIControlState.Normal) 

    //button.tag = ?????? 

    print(button.tag) 

} 

Antwort

1

Alternativ können Sie auch enumerate() verwenden. Dies erzeugt eine Lazy-Sequenz, die Paare von Elementen mit ihren Indizes enthält.

Zum Beispiel:

for (index, btnName) in buttonArray.enumerate() { 

    let button = UIButton(frame: CGRectMake(0,0,100,100)) 

    ... 

    button.tag = index 
} 
+0

Das ist eigentlich eleganter zu implementieren –

1

Offensichtlich Sie einige Zähler injizieren können.

var cnt = 0 
for btnName in buttonArray { 
    let button = UIButton(frame: CGRectMake(0,0,100,100)) 
    button.tag = cnt 
    cnt += 1 
} 
+0

Ich dachte ++ nicht in swift durfte ... habe ich versucht cnt + = 1 dann button.tag = cnt und arbeitete ... Wenn Sie Ihre Antwort aktualisieren ich werde es akzeptieren –

+0

oh du hast Recht. – heximal

Verwandte Themen