我如何创建一个Swift变量,在某些条件下它可以返回不同的值,但通常它只返回自身?
假设我有一个名为我如何创建一个Swift变量,在某些条件下它可以返回不同的值,但通常它只返回自身?,swift,Swift,假设我有一个名为favoriteFood的变量,它是一个字符串。例如,它位于视图控制器上 我希望它是一个正常的变量,你可以得到和设置。但在非常特定的情况下,我希望能够返回自定义值,例如: var-favoriteFood:String{ 如果是星期四{ 返回“胡萝卜” }否则{ 回馈喜爱的食物 } } 但这会触发大量错误和警告,我再也无法设置它了 我应该如何执行此操作?为favoriteFood创建一个私有支持属性,并创建一个自定义getter和setter。setter应该将值设置为back
favoriteFood
的变量,它是一个字符串。例如,它位于视图控制器上
我希望它是一个正常的变量,你可以得到和设置。但在非常特定的情况下,我希望能够返回自定义值,例如:
var-favoriteFood:String{
如果是星期四{
返回“胡萝卜”
}否则{
回馈喜爱的食物
}
}
但这会触发大量错误和警告,我再也无法设置它了
我应该如何执行此操作?为favoriteFood
创建一个私有支持属性,并创建一个自定义getter和setter。setter应该将值设置为backing属性,而getter要么返回“carrots”
(如果满足条件),要么返回backing属性的值
private var _favoriteFood: String = ""
var favoriteFood: String {
get {
if isTuesday {
return "carrots"
} else {
return _favoriteFood
}
}
set {
_favoriteFood = newValue
}
}
你能告诉我们更多关于你的用例吗?一个简单的计算属性可能是合适的,但具体取决于您想要实现什么,使用多态性可能更好。