返回/传递新数组到函数(Swift 5)

时间:2019-04-09 09:25:10

标签: arrays swift

例如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从我的主视图传递到第二个视图。

1 个答案:

答案 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")])