Iは、switch文を有し、ケースの各々においてIが読み込ま文の数を有する:Swiftの複数の変数にどのようにプロパティを割り当てますか?
star1.isHidden = true
star1この例では、イメージ図です。これをstar2、star3などの複数の変数に割り当てる方法はありますか?10の場合、それはコードの行数が多くなりますが、より効率的で読みやすい方法があるとは思えません。
Iは、switch文を有し、ケースの各々においてIが読み込ま文の数を有する:Swiftの複数の変数にどのようにプロパティを割り当てますか?
star1.isHidden = true
star1この例では、イメージ図です。これをstar2、star3などの複数の変数に割り当てる方法はありますか?10の場合、それはコードの行数が多くなりますが、より効率的で読みやすい方法があるとは思えません。
インターフェイスビルダーを使用している場合は、OutletCollectionを使用できます。それ以外の場合は、すべての変数の配列を作成し、for-inループを使用できます。
多くの方法がありますが、最も一般的なのはfor
ループです。この例では、配列のような星の集まりが必要になります[Star]()
for (star in stars) {
star.isHidden = true
}
あなたに多くの、より良い勧告を与えるために、あなたのセットアップに関する十分な情報がありません。
オブジェクトがNSObjectベースの場合、キー値コーディングを使用できます。これは、スウィフトの遊び場であるが、それはどこでも動作します:
class Star:NSObject {
public var hidden = false
}
let star1 = Star()
let star2 = Star()
let star3 = Star()
let star4 = Star()
let star5 = Star()
let starMap:NSArray = [star1, star2, star3, star4]
starMap.setValue(true, forKey: "hidden")
は、ビューの配列を反復処理することができます別の方法を作成します。
var starViews: [UIView] {
return [star1, star2, star3, /* add the rest of the stars here */]
}
func setStarViews(hidden hidden: Bool) {
for starView in starViews {
starView.hidden = hidden
}
}