我正在创建一个模仿Dictionary和Array的对象。我可以使用subscript并且可以做很多事情。
但我可以使用空行字典或数组 ONLY 使用此行初始化我的对象吗?
let myObject:mimicArray = []
let myObject2:mimicDictionary = [:]
我需要做的只是像这样的常见初学者
let myObject = mimicArray()
let myObject2 = mimicDictionary()
但我想使用这种语法糖。我可以这样做吗?
答案 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> = []