Arrays 如何在Swift中获取对象上的属性数组
我有一个标记对象数组,它有一个名为Tag的属性,它是一个字符串Arrays 如何在Swift中获取对象上的属性数组,arrays,swift,dictionary,key-value-coding,Arrays,Swift,Dictionary,Key Value Coding,我有一个标记对象数组,它有一个名为Tag的属性,它是一个字符串 public struct Tag { public let name: String } 我想获得所有这些名称属性的数组 给定一个标签数组,在Objective-C中,我将使用以下行完成此操作: NSArray *tagNames = [tags valueForKey:@"name"] 如何在Swift中实现同样的目标 我试过: let tagNames = tags.map({ $0.name }) 但是出现一个
public struct Tag {
public let name: String
}
我想获得所有这些名称属性的数组
给定一个标签数组,在Objective-C中,我将使用以下行完成此操作:
NSArray *tagNames = [tags valueForKey:@"name"]
如何在Swift中实现同样的目标
我试过:
let tagNames = tags.map({ $0.name })
但是出现一个编译器错误:“类型“[Tag]”的值没有成员“name”。看起来您有一个数组,其中包含另一个标记对象数组。 这对我很有用:
let tags = [Tag(name: "tag1"), Tag(name: "tag2"), Tag(name: "tag3")]
let names = tags.map{$0.name }
print("Names: \(names)")
是的,它现在开始工作了。我又回到了它。我一定是初始化数组时出错了,或者什么的。