如何在 Swift 中的对象上获取 属性 的数组
How to get an array of a property on an object in Swift
我有一个 Tag 对象数组,这些对象有一个 属性 称为标签,它是一个字符串。
public struct Tag {
public let name: String
}
我想要获取所有这些名称属性的数组。
给定一个标签数组,在 Objective-C 中,我将使用以下行完成此操作:
NSArray *tagNames = [tags valueForKey:@"name"]
如何在 Swift 中实现相同的目的?
我试过:
let tagNames = tags.map({ [=14=].name })
但是出现编译器错误:“'[Tag]' 类型的值没有成员 'name'。
您似乎有一个数组,其中包含另一个 Tag 对象数组。
这对我有用:
let tags = [Tag(name: "tag1"), Tag(name: "tag2"), Tag(name: "tag3")]
let names = tags.map{[=10=].name }
print("Names: \(names)")
我有一个 Tag 对象数组,这些对象有一个 属性 称为标签,它是一个字符串。
public struct Tag {
public let name: String
}
我想要获取所有这些名称属性的数组。
给定一个标签数组,在 Objective-C 中,我将使用以下行完成此操作:
NSArray *tagNames = [tags valueForKey:@"name"]
如何在 Swift 中实现相同的目的?
我试过:
let tagNames = tags.map({ [=14=].name })
但是出现编译器错误:“'[Tag]' 类型的值没有成员 'name'。
您似乎有一个数组,其中包含另一个 Tag 对象数组。 这对我有用:
let tags = [Tag(name: "tag1"), Tag(name: "tag2"), Tag(name: "tag3")]
let names = tags.map{[=10=].name }
print("Names: \(names)")