Есть ли способ использовать несколько функций «содержит (массив, значение)» в инструкции if? У меня есть запрос, который хранится в результатах в массиве. Если результаты равны нулю, я выполняю набор операций. Если, однако, массив не ноль, я хотел бы проверить, если некоторые объекты появляются в нем:Использовать несколько функций в выражении if (Swift)
var user: PFUser?
override func viewDidLoad() {
super.viewDidLoad()
//get the two players
if let user = user{
var userQuery = PFQuery(className: "Game")
userQuery.whereKey("user1", equalTo: user)
userQuery.whereKey("isActive", equalTo: true)
var userQuery2 = PFQuery(className: "Game")
userQuery2.whereKey("user2", equalTo: user)
userQuery2.whereKey("isActive", equalTo: true)
var currentUserQuery = PFQuery(className: "Game")
currentUserQuery.whereKey("user1", equalTo: PFUser.currentUser())
currentUserQuery.whereKey("isActive", equalTo: true)
var currentUserQuery2 = PFQuery(className: "Game")
currentUserQuery2.whereKey("user2", equalTo: PFUser.currentUser())
currentUserQuery2.whereKey("isActive", equalTo: true)
var query = PFQuery.orQueryWithSubqueries([userQuery, userQuery2, currentUserQuery, currentUserQuery2])
query.findObjectsInBackgroundWithBlock{
(results: [AnyObject]!, error: NSError!) -> Void in
if error == nil{
//if there are no active games, start new game
if results == nil{
//start game code
} else if contains(results, user) as [AnyObject]! && contains(results, PFUser.currentUser()) as [AnyObject]! {
println(results)
}
}
}
}
}
Использование & & оператор возвращает ошибку на линии: Cannot invoke '&&' with an argument of type '([AnyObject]!,[AnyObject]!)'
. Любые идеи о том, как я могу проверить, обнаружены ли объекты и объекты PFUser.current_user() в массиве?
Спасибо!
Спасибо за помощь! Я удалил инструкцию else if и вместо этого поставил в оператор if выше, и я получаю сообщение об ошибке 'Can not invoke '&&' с аргументом типа '($ T4, $ T9)''. Что это значит? – winston
Я думаю, что это может иметь какое-то отношение к типу возврата '(результаты: [AnyObject] !, error: NSError!) -> Void'. Я думаю, что Пустота может вызвать проблему. – winston
См. Обновленный ответ – salabaha