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

How to copy an array from a function to an array in the class in Swift?

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

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

我在 class 中也有一个空数组。往下看

var headlinesLabels: NSArray = NSArray ()

我想将 headlinesArray 复制到 headlinesLabels 以便我可以在另一个函数中使用该数组。我怎样才能做到这一点?我应该将 headlinesArray 复制到 headlinesLabels 吗? 有更好的方法吗?

我不确定该做什么以及如何做。欢迎所有建议。

谢谢

你有不同的可能性。首先,您可以将 return 值添加到您的函数和 return 您的字符串数组。

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   
}

这样你就不需要 return 一个值,而是在你的函数中正确设置它。但我建议使用第一种可能性。

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

此外,变量名应始终采用驼峰式命名法。所以把HeadlinesString改成headlinesString

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

var headlinesLabels:[String]!

这样,Swift 就知道这个数组应该包含 String 个元素,您以后可以随时设置它:

 headlinesLabels = /*yourStringArray*/