当用户搜索某个类别时,我需要显示包含相同类别的所有数组+该相应数组中的其他类别。
一旦用户选择["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方法可以做到这一点?
答案 0 :(得分:1)
您不应该使用SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
String username = pref.getString("username", "n/a");
,而应使用containsString
:
containedIn