我有一些示例代码,因为我想弄清楚如何建模我的第一个应用程序。我不确定"鞋子的例子"应该是枚举或类。我想我可以创建一个具有每个类所有功能的类(sole,string,color,fit),然后创建主类的子类,并为需要它们的类添加其他功能。我还想过将每个设置为枚举因为数据是固定的。最终,我希望用户能够按下按钮,并确定某个条件对于枚举中的每个案例或类或结构中的每个存储属性是否是差,公平或优秀。
enum Conditions {
case poor
case fair
case excellent
}
// Shoe exmaples
enum Nike {
case sole
case string
case color
case fit
}
struct Rebook {
case sole
case string
case color
case fit
}
enum Jordan {
case sole
case string
case color
case fit
}
enum sketchers {
case sole
case string
case color
case fit
case (idk something else)
}
enum heels {
case sole
case string
case color
case fit
case height
case width
}
或
答案 0 :(得分:1)
您当前的方法几乎就在那里。如果我理解正确,您希望鞋子的每个属性都使用条件枚举进行排名。你可能有更多的运气使每双鞋成为通用类,如下:
class Shoe {
var sole: Condition?
var string: Condition?
var color: Condition?
var fit: Condition?
init(sole: Condition, string: Condition, color: Condition, fit: Condition) {
self.sole = sole
self.string = string
self.color = color
self.fit = fit
}
}
现在,您可以为所需的每种类型创建Shoe
个实例,而不是为每个鞋子创建不同的枚举。例如,如果用户对耐克进行了排名,您可以将结果存储起来:
var Nike = Shoe(sole: .poor, string: .excellent, color: .fair, fit: .excellent)
如果你想为每只鞋添加不同的排名,例如“idk something else”或“height”,那么你总是可以向Shoe
类添加更多属性并使它们成为可选的,或者你可以子类化Shoe
类添加更多属性。