例如Java,您可以执行以下操作:
myFunction(new MyClass[]{myclass1, myclass2, myclass3})
Swift中是否有等效功能?
我尝试过
myFunction([MyClass](myclass1,myclass2,myclass3))
和Xcode建议将其更改为
myFunction([MyClass](arrayLiteral: myclass1,myclass2,myclass3))
但是纪录片(click)告诉您不要直接调用“ arrayLiteral”。
编辑:我要这样做的原因有点复杂:
我有一个类MyClass
,并创建了一堆实例来承载数据:myclass1,myclass2,myclass3
init(name na:String, number nu:Int, content c:String) {....}
这些实例要添加到数组中,然后用于创建第二个类MyOtherClass
的实例:
init(name n:String, someotherinfo s:String, myclassarray m:[MyClass]) {....}
创建实例:
var myotherclassthing = MyOtherClass(name:"Test", someotherinfo:"Bla", myclassarray: ??????????)
此MyOtherClass
实例随后通过segue从我的主视图传递到第二个视图。
答案 0 :(得分:2)
这应该有效
myFunction(["a","b","c"])
如果您想从函数返回数组,这同样适用
func test() -> [String] {
return ["a", "b"]
}
它与自定义类同样有效
MyOtherClass(name:"Test", someotherinfo:"Bla",
myclassarray: [MyClass(name: "A", number: 1, content: "AAA"),
MyClass(name: "B", number: 2, content: "BBB")])