我是新的,仍在學習。爲了練習,我想嘗試一個想法,看看我是否能夠自己建模。例如,如果我有兩組數據在枚舉中Swift 3.0 - 基於2個不同枚舉的每種情況的調用函數
protocol Pet {
var type: PetType { get }
}
protocol PetType {}
enum Cat: PetType {
case indoor
case outdoor
}
enum Dog: PetType {
case small
case medium
case large
}
struct MyPet: Pet {
let type: PetType
let age: Int
}
對於每種情況,都有一個特定的功能來計算將要執行的人類年數。所以,如果我創建一個實例
let garfield = myPet(type: Cat.indoor, age: 3)
myPet.inHumanYears
應該執行正確的功能。
我嘗試了一些東西,但我的知識似乎現在有限。任何人都可以指導/教導我如何解決這個問題?
謝謝。
這沒有幫助,謝謝。我可以在每種情況下使用if語句,否則我只能返回一個值。因爲取決於年齡範圍,因此每種情況下的計算都會有所不同。 –
當然可以。你可以在每種情況下做任何你想做的事情,比如進一步的邏輯。 –
這工作得很好:)只是出於好奇,這是做到這一點的最佳方式?如果使用其他方法進行計算,還是有更多方法可以做到這一點?我有很多要學習的。 –