标题有点含糊,但我通过下面的例子展示了我的问题。假设我想定义一个变量来显示数组特定索引中的值。我想在二传手中意识到这一点。怎么做?我尝试了下面的代码,但它是错误的,无法编译。很明显index不能在setter中定义,但是有没有其他方法可以在setter中实现呢?
var myArray = ["a", "b", "c"]
var myValue: String?{
get{}
set(var index: Int){self.myValue = myArray.objectAtIndex(index)}
}
var test: String? = myValue(1)
最佳答案
我可能误解了您在这里要做什么,但我认为您的做法是错误的。如果您希望变量只返回数组中某个索引处的对象,那么您可以从 getter 中执行此操作。此外,由于看起来您想传递一个值来确定输出是什么,那么您应该只使用一个函数。示例:
var myArray = ["a", "b", "c"]
func myValue(index: Int) -> String? {
if index < myArray.count {
return myArray[index]
}
return nil
}
var test = myValue(1)
关于ios - 如何在 ios 的 swift 语言中为具有其他类型输入的变量设置 setter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24892669/