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

标签 ios swift

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

相关文章:

swift - URL(fileURLWithPath : snap. urlImage) 命令未按预期工作

ios - Swift 中的 PFQueryTableViewController 使用 Cloud Code 函数

swift - 组合一个二维数组的项目

iOS 宽高比约束在 iOS7 上失效,适用于 iOS8

swift - 理解 SwiftUI 中的@Binding

iphone - 使用的 iOS 版本分割

ios - 为什么在发送任何 SSL 消息之前我的 SSL 握手失败?

ios - 在 UITableView 中的 UINib 中重新加载 UITableView

ios - 内存警告 UIImagepickerController IOS 7

ios - WkWebView 不全屏旋转视频?