元组属性的自定义设置器 (Swift)

Mat*_*ros 4 iphone cocoa cocoa-touch ios swift

我的类中有一个计算属性,它是一个可选元组:

var contents: (Int, Bool)?
Run Code Online (Sandbox Code Playgroud)

我想编写一个自定义设置器,但不知道如何单独引用元组组件。有谁知道?我已尝试以下方法,但它不起作用:

var contents: (Int colorNumber, Bool selected)? {
    // getter & setter here...
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*rry 5

使用let分解元组

var iVal:Int?
var bVal:Bool?

var contents:(Int, Bool)? {
    get {
        if iVal != nil && bVal != nil {
            return (iVal!, bVal!)
        }
        else {
            return nil
        }
    }
    set {
        if newValue != nil {
            let (i, b) = newValue!    // decompose the tuple
            iVal = i
            bVal = b
        }
        else {
            iVal = nil
            bVal = nil
        }
    }
}
Run Code Online (Sandbox Code Playgroud)