在Swift中过滤数组中元素的'string'值

时间:2017-04-06 14:25:31

标签: arrays swift string ubuntu filter

由于我刚开始使用编程进行冒险,特别是使用Swift,我无法解决过滤数组的问题。

在使用我的书时,我进入了一个解释数组的章节 我现在没有使用数组的问题。这是我学生用书中的代码:

var city = ["Boston", "London", "Chicago", "Atlanta"]
let filtered = city.filter{$0.range(of:"o") != nil}

这应该过滤掉带有字母“o”的城市,但是在编译时会显示此消息:

error: value of type 'String' has no member 'range

那是否意味着我不能将.range用于字符串值? 那么代码看起来像什么? 我使用的是ubuntu作为我的操作系统。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您收到此错误,因为不幸的是range在Linux中不可用。如果您可以访问具有macOS的计算机,则可以使用。

正如@Hamish所说,我完全错了,您必须导入Foundation才能在range上使用containsString(即使您可以致电{ contains {{}}} {1}},但未导入string.characters)。

将此行添加到代码的开头:

Foundation