当前位置:  开发笔记 > 编程语言 > 正文

将字符串拆分为数组并修剪每个值的有效方法 - Swift

如何解决《将字符串拆分为数组并修剪每个值的有效方法-Swift》经验,为你挑选了1个好方法。

为了更好地理解swift,我想看看是否有更有效的方法来编写下面的代码.代码应该采用self.categories字符串,将其转换为数组(以逗号分隔的值),并在返回数组之前修剪每个值.

func get_categories() -> Array{
    let categories = self.categories!.componentsSeparatedByString(",")
    var categories_to_return = Array()
    for category in categories {
        categories_to_return.append(category.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()))
    }
    return categories_to_return
}

我怀疑我在这里做错了 - 也许我不需要创建两个单独的数组?也许还有另一条我以前从未见过的捷径?提前谢谢了!



1> ayaio..:

你可以map直接使用这样的结果componentsSeparatedByString,并在不使用其他变量的情况下返回它:

func get_categories() -> Array{
    return self.categories!.componentsSeparatedByString(",").map { $0.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) }
}

注意:在map闭包中,$0表示组件数组中的当前项.它也可以这样写:

func get_categories() -> Array{
    return self.categories!
        .componentsSeparatedByString(",")
        .map { word in word.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()) }
}

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有