【发布时间】:2020-03-12 16:56:51
【问题描述】:
我有自定义类型:
open class HashTag: Equatable {
open var text: String
open var isRemovable: Bool
open var hasHashSymbol: Bool
open var configuration: HashtagConfiguration?
public init(word: String, withHashSymbol: Bool = true, isRemovable: Bool = true) {
self.text = word
self.isRemovable = isRemovable
self.hasHashSymbol = withHashSymbol
if hasHashSymbol {
self.text = "#" + text
}
}
public static func == (lhs: HashTag, rhs: HashTag) -> Bool {
return lhs.text == rhs.text
}
}
我想把它转成普通的String数组再转回来。例如,对于:
var tags = [
HashTag(word: "this"),
HashTag(word: "is"),
HashTag(word: "an"),
HashTag(word: "example")
]
我想转移到
var tagsTransferred = ["this","is","an","example"]
然后回传:
var tagsTransferred = ["this","is","an","example"]
到:
var tags = [
HashTag(word: "this"),
HashTag(word: "is"),
HashTag(word: "an"),
HashTag(word: "example")
]
【问题讨论】:
-
听起来你在找
Array.map(_:)。 -
您是在问如何将
[String]变成[HashTag]?或者您是在问如何让编译器自动将文字["this","is","an","example"]转换为[HashTag]? -
任何这种变体都会很好。