Возможно странный вопрос, но здесь идет. Я новичок в перечислениях и только начал использовать их в своем коде. У меня есть структура Points
, которая имеет несколько переменных, одной из которых является enum PointCategory
. Проблема в том, что иногда я хочу, чтобы var itemCategory
также разрешал другое перечисление: BudgetCategory
.
Я знаю, что не могу этого сделать:
struct Points {
var itemCategory: PointCategory || BudgetCategory
}
, потому что он производитошибка. Но это по сути то, что я хочу сделать. Я полагаю, это как подкласс enum? Или что-то типа того. Есть ли способ разрешить одной из моих переменных структуры использовать более одного перечисления?
Вот текущий код:
enum BudgetCategory: String {
case clothing = "Clothing"
case donations = "Donations"
case electronics = "Electronics"
case funMoney = "Fun Money"
case musicArt = "Music & Art"
case other = "Other"
case personalCare = "Personal Care"
case savings = "Savings"
case school = "School"
case sportsDance = "Sports & Dance"
case summerCamps = "Summer Camps"
case transportation = "Transportation"
}
enum PointCategory: String {
case outsideIncome = "outside income"
case fees = "fees"
case otherJobs = "other jobs"
case payday = "payday"
case dailyJobs = "daily jobs"
case dailyHabits = "daily habits"
case weeklyJobs = "weekly jobs"
case otherTransactions = "other transactions"
case all = "all"
case unpaid = "unpaid"
}
struct Points {
var user: String
var itemName: String
var itemCategory: PointCategory
var code: PointCode
var valuePerTap: Int
var itemDate: Double
var paid: Bool
}
Или я ошибаюсь? Я открыт для объяснений и предложений.