如何将数组从函数复制到Swift中的类中的数组?

时间:2015-03-07 22:43:29

标签: arrays xcode swift xcode6 nsarray

我在函数中有一个数组。看下面。

    var HeadlinesString:NSString = Headlines["text"] as NSString
    var headlinesArray: NSArray = HeadlinesString.componentsSeparatedByString("\n") as NSArray

我在课堂上也有一个空数组。看下面

var headlinesLabels: NSArray = NSArray ()

我想将headlinesArray复制到headlinesLabels所以我可以在另一个函数中使用该数组。我怎样才能做到这一点?我应该将头条新闻复制到标题标签上吗? 有没有更好的方法呢?

我不知道该怎么做以及如何做。欢迎所有建议。

由于

1 个答案:

答案 0 :(得分:1)

你有不同的可能性。首先,您可以向函数添加返回值并返回字符串数组。

func yourFunction()->[String]{
    var headlinesString:String = Headlines["text"] as String
    var headlinesArray:[String] = headlinesString.componentsSeparatedByString("\n")
    return headlinesArray
}

var headLinesLabels = yourFunction()

或者您可以在函数本身中设置headLinesLabels的值:

func yourFunction(){
    var headlinesString:String = Headlines["text"] as String
    var headlinesArray:[String] = headlinesString.componentsSeparatedByString("\n")
    headLinesLabels = headLinesArray   
}

这样你就不需要返回一个值,但是你在函数中设置了它。但我建议使用第一种可能性。

您可能已经注意到,我已经编辑了您现有的代码。首先,如果您使用的是Swift,则应使用String而不是NSString

变量名也应该始终是camelCase。因此,将HeadlinesString更改为headlinesString

此外,您不需要将从componentsSeparatedByString方法接收的对象转换为NSArray,但可以使用[String]将其转换为具有String元素的数组。与headLinesLabels变量相同。只需将其初始化:

var headlinesLabels:[String]!

这样,Swift知道这个数组应该包含String元素,你可以在以后的任何时候设置它:

 headlinesLabels = /*yourStringArray*/