如何在Swift中的对象中使用相同的数组或字典语法?
我正在创建一个模拟字典和数组的对象。我可以使用,可以做很多事情 但是我可以用空字典或数组来初始化我的对象吗如何在Swift中的对象中使用相同的数组或字典语法?,swift,Swift,我正在创建一个模拟字典和数组的对象。我可以使用,可以做很多事情 但是我可以用空字典或数组来初始化我的对象吗 let myObject:mimicArray = [] let myObject2:mimicDictionary = [:] 我需要做的只是一个像这样的普通初始化 let myObject = mimicArray() let myObject2 = mimicDictionary() 但是我想用这个语法。我可以这样做吗?您必须实现或修改协议 您必须实施或修改协议 如phimage
let myObject:mimicArray = []
let myObject2:mimicDictionary = [:]
我需要做的只是一个像这样的普通初始化
let myObject = mimicArray()
let myObject2 = mimicDictionary()
但是我想用这个语法。我可以这样做吗?您必须实现或修改协议
您必须实施或修改协议
如phimage在回答中所述,您需要采用可转换协议。例如,采用ArrayTerralConvertible的结构
struct Mimic<T> : ArrayLiteralConvertible {
typealias Element = T
var values : [T] = []
init(arrayLiteral elements: Element...) {
self.values = elements
}
}
let mimicTest : Mimic<Int> = []
结构模拟:ArrayTerralConvertible{
typealias元素=T
变量值:[T]=[]
init(阵列并行元素:元素…){
self.values=元素
}
}
让mimicTest:Mimic=[]
如phimage在回答中所述,您需要采用可转换协议。例如,采用ArrayTerralConvertible的结构
struct Mimic<T> : ArrayLiteralConvertible {
typealias Element = T
var values : [T] = []
init(arrayLiteral elements: Element...) {
self.values = elements
}
}
let mimicTest : Mimic<Int> = []
结构模拟:ArrayTerralConvertible{
typealias元素=T
变量值:[T]=[]
init(阵列并行元素:元素…){
self.values=元素
}
}
让mimicTest:Mimic=[]