Swift中的[AnyObject]的过滤器数组

Swift中的[AnyObject]的过滤器数组,第1张

概述我有一个Swift的AnyObject对象数组。每个对象都有一个餐厅的属性,如名称,类型,loc等。如果我想保留数组中包含类型为“Sushi”的所有对象,如何过滤数组。 具有2个对象的[AnyObject]样本数组。过滤器应保留第一个对象(类型:寿司): [<Restaurant: 0x7ff302c8a4e0, objectId: LA74J92QDA, localId: (null)> { 我有一个Swift的AnyObject对象数组。每个对象都有一个餐厅的属性,如名称,类型,loc等。如果我想保留数组中包含类型为“Sushi”的所有对象,如何过滤数组。

具有2个对象的[AnyObject]样本数组。过滤器应保留第一个对象(类型:寿司):@H_502_2@

[<Restaurant: 0x7ff302c8a4e0,objectID: LA74J92QDA,localID: (null)> {    City = "New York";    Country = "United States";    name = Sumo Japan;    Type = Sushi,Japanese,Asian;},<Restaurant: 0x7ff302daa790,objectID: 0aKFrpKN46,localID: (null)> {    City = "New York";    Country = "United States";    name = little Italy;    Type = Italian,Pizza;}]

当前代码(但我不知道过滤器是否可以搜索[AnyObject]的数组):@H_502_2@

var query = PFquery(classname:"Restaurant")query.whereKey("RestaurantLoc",nearGeoPoint:userGeoPoint,withinMiles:50)query.limit = 2query.findobjectsInBackgrounDWithBlock {    (objects: [AnyObject]!,error: NSError!) -> VoID in    if objects != nil {        println("List of objects of nearby")        println(objects)        let searchString = "Sushi"        let predicate = nspredicate(format: "Type CONTAINS[cd] %@",searchString);        //line below gives error: '[AnyObject]' does not have a member named 'filteredArrayUsingPredicate'        //let filteredArray = objects.filteredArrayUsingPredicate(predicate!)
您的数组,对象是一组PFObject对象。因此,要过滤数组,可以执行以下 *** 作:
let filteredArray = objects.filter() {    if let type = (
class Restaurant {    var city: String    var name: String    var country: String    var type: [String]!    init (city: String,name: String,country: String,type: [String]!) {        ...    }}
as PFObject)["Type"] as String { return type.rangeOfString("Sushi") != nil } else { return false }}

基于我们处理自定义餐厅对象的假设,我的原始答案如下:@H_502_2@

您可以使用过滤器方法。@H_502_2@

我们假设餐厅的定义如下:@H_502_2@

let filteredArray = objects.filter() {contains((
let filteredArray = objects.filter() {    if let type = ( as Restaurant).type as [String]! {        return contains(type,"Sushi")    } else {        return false    }}
as Restaurant).type,"Sushi")}

所以,假设该类型是字符串数组,你可以做一些类似的事情:@H_502_2@

如果您的类型数组可能为零,则可以对其进行条件展开:@H_502_2@

具体情况将有所不同,具体取决于您的餐厅声明,您没有与我们分享,但希望这可以说明这一想法。@H_502_2@ 总结

以上是内存溢出为你收集整理的Swift中的[AnyObject]的过滤器数组全部内容,希望文章能够帮你解决Swift中的[AnyObject]的过滤器数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1053332.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存