Предположим, у меня есть массив MyObject, который содержит только один объект MyObject, который отличается от объекта, переданного как параметр в функции contains.Почему оператор if действует так?
Я хотел бы понять, почему, когда я пишу код, как это, это работает, я не хожу на линии myObject.toAdd = true
if self.myObjectArray != nil && contains(self.myObjectArray!, myObject) == true {
myObject.toAdd = true
}
, но когда я не пишу == true
он идет прямо внутри мой, если заявление в то время как оно не должно (с моей точки зрения и то, что я хочу сделать, по крайней мере ...)
if self.myObjectArray != nil && contains(self.myObjectArray!, myObject) {
myObject.toAdd = true
}
в чем разница?
Спасибо за вашу помощь
Вы ничего не сравниваете в этой части 'содержит (self.myObjectArray !, myObject)' – Ethaan
, но когда я просто **, если содержит (self.myObjectArray !, myObject) **, он работает как ожидалось. Думаю, тогда, когда в выражении if есть два или более предикатов, вам нужно явно их сопоставить с чем-то ... Правильно? Спасибо @Ethaan – Nico
Хмм, и если вы поместите 'if self.myObjectArray! = Nil', он вернёт true правильно? – Ethaan