Я новичок и до сих пор учился. Для практики я хотел попробовать идею и посмотреть, смогу ли я смоделировать что-то самостоятельно. Например, если у меня есть 2 набора данных в перечисленияхSwift 3.0 - Функции вызова, основанные на каждом случае из двух разных перечислений
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 else в каждом случае, или я могу только вернуть значение. Поскольку в зависимости от диапазона возраста расчеты различаются для каждого случая. –
Да, конечно. Вы можете делать все, что захотите, в каждом случае, например, в дальнейшей логике. –
Это хорошо работает :) Просто из любопытства, это лучший способ сделать это? используя if else для вычислений, или есть больше способов сделать это? У меня есть чему поучиться. –