如何在swift语言for ios中为其他类型的输入设置变量的setter?

时间:2014-07-22 16:20:05

标签: ios swift

标题有点含糊不清,但我通过下面的例子展示了我的问题。假设我想定义一个变量来显示某个数组索引中的值。我想在二传手中意识到这一点。怎么做?我尝试了下面的代码,但它是错误的,无法编译。很明显,索引不能在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)

1 个答案:

答案 0 :(得分: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)