在块中连接字符串
Join strings in a block
我有一个块可以更新每个字符串的视图。在它的对象 class 中,我通过了它:
func eachFeaturesSection(block: ((String?) -> Void)?) {
propertyFeatures.forEach { feature in
guard let feature = feature as? RealmString else {
return
}
let features = feature.stringValue
block?(features)
}
}
我会在 ViewController
得到它,方法是:
listing!.eachFeaturesSection({ (features) in
print(features)
self.facilities = features!
})
因此它将打印为:
Optional("String 1")
Optional("String 2")
和 self.facilities 将设置为最新值 self.facilities = "String 2"
cell.features.text = features // it will print String 2
那么,如何实现将所有字符串连接到一个字符串中,例如self.facilities = "String 1, String 2"
。我用 .jointString 不起作用。感谢您的帮助。
也许您可以将它们添加到 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(", ")
希望对你有所帮助。
self.facilities = features!
什么都不做,每次迭代都会不断更新值
将行 self.facilities = features!
更改为 self.facilities += features!
或 self.facilities = self.facilities + ", " + features!
这是我的做法(假设您的 propertyFeatures
是 RealmString
的数组):
Swift 3:
let string = (propertyFeatures.map { [=10=].stringValue }).joined(separator: ", ")
Swift 2:
let string = (propertyFeatures.map { [=11=].stringValue }).joinWithSeparator(", ")
我有一个块可以更新每个字符串的视图。在它的对象 class 中,我通过了它:
func eachFeaturesSection(block: ((String?) -> Void)?) {
propertyFeatures.forEach { feature in
guard let feature = feature as? RealmString else {
return
}
let features = feature.stringValue
block?(features)
}
}
我会在 ViewController
得到它,方法是:
listing!.eachFeaturesSection({ (features) in
print(features)
self.facilities = features!
})
因此它将打印为:
Optional("String 1")
Optional("String 2")
和 self.facilities 将设置为最新值 self.facilities = "String 2"
cell.features.text = features // it will print String 2
那么,如何实现将所有字符串连接到一个字符串中,例如self.facilities = "String 1, String 2"
。我用 .jointString 不起作用。感谢您的帮助。
也许您可以将它们添加到 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(", ")
希望对你有所帮助。
self.facilities = features!
什么都不做,每次迭代都会不断更新值
将行 self.facilities = features!
更改为 self.facilities += features!
或 self.facilities = self.facilities + ", " + features!
这是我的做法(假设您的 propertyFeatures
是 RealmString
的数组):
Swift 3:
let string = (propertyFeatures.map { [=10=].stringValue }).joined(separator: ", ")
Swift 2:
let string = (propertyFeatures.map { [=11=].stringValue }).joinWithSeparator(", ")