gpt4 book ai didi

ios - 在 Swift 中过滤自定义对象数组

转载 作者:搜寻专家 更新时间:2023-10-31 08:26:27 26 4
gpt4 key购买 nike

我正在尝试快速过滤一组自定义对象,以取回具有我想要隔离的属性的数据子集。我的代码如下。

func generateSubset( dataPool : [CustomObject]) -> [CustomObject]? {

let subsetData = dataPool.filter{(includeElement:CustomObject)-> Bool in
return contains(includeElement.position, "TEACHER")
}

return subsetData
}

我的自定义对象如下:

   class CustomObject :  {
var position : String?

init(){
position = ""
}
}

然而,当我尝试编译这段代码时,Xcode 抛出的错误是:

Cannot invoke 'filter' with an argument list of type [CustomObject] -> Bool

我正在使用 Swift 1.2,但似乎无法弄清楚我做错了什么。任何帮助,将不胜感激。

最佳答案

在 Swift 1.2 中,filter 是一个全局函数,所以你不能说 dataPool.filter(...)。 (在 Swift 2 中,这将起作用。)

此外,contains 不能与这样的字符串一起使用。我建议使用 NSString 中的 rangeOfString: 方法:

let teachers = filter(dataPool) { // in Swift 2 this would be "dataPool.filter {"
return $0.position!.rangeOfString("TEACHER") != nil
}

关于ios - 在 Swift 中过滤自定义对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32039714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com