比较和匹配数组值

时间:2016-01-23 16:13:16

标签: ios regex swift parse-platform

当用户搜索某个类别时,我需要显示包含相同类别的所有数组+该相应数组中的其他类别。

一旦用户选择["Apples", "Oranges", "Limes"],我想比较我查询的包含苹果,橘子或酸橙的阵列(在众多中)。这可以是一个数组,也可以是多个数组。

这些是我将值添加到的数组:

 var categoryNeeded = [AnyObject]()  //The user creates this one and adds values to it

 var categoryArr = [AnyObject]() //The Parse arrays are added here:

我有一个简单的Parse查询功能。

var query : PFQuery = PFUser.query()!
query.whereKey("contacts", containsString: "\(categoryArr)")
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in               
    if let objects = objects as [PFObject]! {
        for object in objects {            
            self.categoryArr.append(object["contacts"] as! AnyObject)
            print(self.categoryArr)
        }
    }
}

第二行是可疑的:

query.whereKey("contacts", containsString:  "\(categoryArr)")

使用该行查询时,我收到此错误(没有崩溃):

  

2016-01-23 15:53:47.508 CC [28514:5733236] [错误]:$ regex仅适用   在字符串字段上(代码:102,版本:1.11.0)

如果没有whereKey行,我会获得所有值并打印出来。我只是无法弄清楚如何比较和检查两个数组之间的匹配,最终给出匹配的数组。是否有Swift方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您不应该使用SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); String username = pref.getString("username", "n/a"); ,而应使用containsString

containedIn