Airspeed Velocity ile, aşırı yükleri burada kullanmanız gerektiğine katılıyorum, ancak bunları farklı hale getireceğim. Tamamen isteğe bağlı olarak kurtulun.
func someMethod(#arg1: Sometype)-> Void {}
func someMethod(#arg2: Sometype)-> Void {}
func someMethod(#arg1: Sometype, #arg2: Sometype) -> Void {}
bu noktada, gerçekten farklı yöntemler olduğu açık olmalı: Biz bir uzunluğa kadar geçebileceği bir FixedLengthString
sınıf yapıyor eğer
func someMethodWithArg1(arg1: Sometype)-> Void {}
func someMethodWithArg2(arg2: Sometype)-> Void {}
func someMethod(#arg1: Sometype, #arg2: Sometype) -> Void {}
, bu somut hale düşünün için, veya varolan bir dizgeyi veya her ikisini de geçebilir ve uzunluğu doldurulana kadar dizeyi tekrarlar.
func makeString(length: Int?, string: String?) -> FixedString
Ama doğrusu bunun dışında sadece yöntemleri yapmak:
olurdunuz tarif ettiğiniz ne
func makeStringWithLength(length: Int) -> FixedString
func makeStringFromString(string: String) -> FixedString
func makeStringByFillingWith(string: String, totalLength: Int) -> FixedString
Bu her şey çalışıyor net nasıl yapar ve çağrı yapamazsınız yanlış. ObjC'de de böyle yapmalısın.
Bence bu en mantıklı ve niyetini net kılıyor, teşekkürler – bolnad