如何在Swift中的Object中使用相同的Array或Dictionary语法糖?

时间:2016-01-23 23:56:18

标签: swift

我正在创建一个模仿Dictionary和Array的对象。我可以使用subscript并且可以做很多事情。

但我可以使用空行字典或数组 ONLY 使用此行初始化我的对象吗?

let myObject:mimicArray = []
let myObject2:mimicDictionary = [:]

我需要做的只是像这样的常见初学者

let myObject = mimicArray()
let myObject2 = mimicDictionary()

但我想使用这种语法糖。我可以这样做吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

正如 phimage 的回答中所述,您需要采用Convertible协议。作为一个示例,采用ArrayLiteralConvertible。

struct Mimic<T> : ArrayLiteralConvertible {

    typealias Element = T

    var values : [T] = []

    init(arrayLiteral elements: Element...) {

        self.values = elements

    }
}


let mimicTest : Mimic<Int> = []