私はSwiftを学習していますが、現在はイニシャライザを使用しています。私は単純な継承クラスの関係でテストプロジェクトを作成しました。私は各クラスに10のプロパティを設定し、すべて正常に動作します。しかし、私は何かが不足していると感じます、それはちょうど長すぎると乱雑(特にClassBのinit)、私のコードを短絡してもそれを正式に保つための手掛かりのように見える?多くのプロパティを持つクラスinit
にClassA:
class ClassA: NSObject {
var a1: Int
var a2: Int
var a3: Int
var a4: Int
var a5: Int
var a6: Int
var a7: Int
var a8: Int
var a9: Int
var a10: Int
init (a1: Int, a2: Int, a3: Int, a4: Int, a5: Int, a6: Int, a7: Int, a8: Int, a9: Int, a10: Int) {
self.a1 = a1
self.a2 = a2
self.a3 = a3
self.a4 = a4
self.a5 = a5
self.a6 = a6
self.a7 = a7
self.a8 = a8
self.a9 = a9
self.a10 = a10
}
}
ClassBの:
class ClassB: ClassA {
var b1: Int
var b2: Int
var b3: Int
var b4: Int
var b5: Int
var b6: Int
var b7: Int
var b8: Int
var b9: Int
var b10: Int
init (a1: Int, a2: Int, a3: Int, a4: Int, a5: Int, a6: Int, a7: Int, a8: Int, a9: Int, a10: Int, b1: Int, b2: Int, b3: Int, b4: Int, b5: Int, b6: Int, b7: Int, b8: Int, b9: Int, b10: Int) {
self.b1 = b1
self.b2 = b2
self.b3 = b3
self.b4 = b4
self.b5 = b5
self.b6 = b6
self.b7 = b7
self.b8 = b8
self.b9 = b9
self.b10 = b10
super.init(a1: a1, a2: a2, a3: a3, a4: a4, a5: a5, a6: a6, a7: a7, a8: a8, a9: a9, a10: a10)
}
}
私はコンビニエンスINITを使用して、一つにすべてのパラメータを置くことができることを知っている、しかし、私は指定された使用することを選択しました:
コードは短いが、あなたはもう、init()メソッドを記述する必要はありませんがということではありません私の例を明確にするために多くのパラメータがあります。とにかく、私は基本的に何もしないことを知っているのは良いことです:)ありがとう! –