连接字符串

Umi*_*aya 0 string swift swift-block

我有一个块,用于更新每个字符串的视图。在其对象类中,我通过以下方法:

func eachFeaturesSection(block: ((String?) -> Void)?) {
propertyFeatures.forEach { feature in
  guard let feature = feature as? RealmString else {
    return
  }
  let features = feature.stringValue
    block?(features)
 }
}
Run Code Online (Sandbox Code Playgroud)

我将ViewController通过以下方式获得它:

listing!.eachFeaturesSection({ (features) in
  print(features)
  self.facilities = features!
})
Run Code Online (Sandbox Code Playgroud)

因此它将打印为:

Optional("String 1")
Optional("String 2")
Run Code Online (Sandbox Code Playgroud)

并且self.facilities将设置为最新值,即 self.facilities = "String 2"

cell.features.text = features // it will print String 2
Run Code Online (Sandbox Code Playgroud)

因此,如何实现将所有字符串连接到一个字符串中,例如self.facilities = "String 1, String 2"。我用.jointString不起作用。感谢您的任何帮助。

pbo*_*dsk 5

也许您可以将它们添加到String元素数组中,然后在完成后调用joined该数组。

所以在您的ViewController中是这样的:

var featuresArray = [String]()

listing!.eachFeaturesSectionT({ (features) in
    print(features)
    featuresArray.append(features!)
})

//Swift 3 syntax
cell.features.text = featuresArray.joined(separator: ", ")

//Swift 2 syntax
cell.features.text = featuresArray.joinWithSeparator(", ")
Run Code Online (Sandbox Code Playgroud)

希望对您有帮助。