Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Swift中获取对象上的属性数组_Arrays_Swift_Dictionary_Key Value Coding - Fatal编程技术网

Arrays 如何在Swift中获取对象上的属性数组

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 }) 但是出现一个

我有一个标记对象数组,它有一个名为Tag的属性,它是一个字符串

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)")

是的,它现在开始工作了。我又回到了它。我一定是初始化数组时出错了,或者什么的。