让多个 IF 语句子句协同工作

Getting multiple IF statement clauses to work together

我正在构建一个 iOS 测验应用程序,根据问题标签中出现的某些关键词,我希望背景照片根据问题中的关键词进行更改。例如,如果问题标签包含单词 "food",我希望背景图片始终显示苹果图片。如果问题标签包含单词 "fruit",我还希望背景图片是与关键字 "food" 相同的苹果。然而,当我 运行 我的代码只有在我只使用一个关键字时它才能正常工作。

 //this code works and changes the background picture appropriately
 func quizImage() {

 if (questionLabel.text?.contains("food"))!

   //applePicture is the name of the image
  { questionImage.image = applePicture }

   }

然而,当我尝试以下操作时,使用多个 if 子句,背景照片根本没有改变,即使其中一个关键词出现在问题标签中也是如此

  func quizImage() {

   //this code doesn't work and the background photo never changes
  if (questionLabel.text?.contains("food"))!,(questionLabel.text?.contains("apple"))!

   { questionImage.image = applePicture}

   }

非常感谢任何帮助的建议!

如果使用逗号(,),则只有两个条件都满足才为真。这样做,

if let text = questionLabel.text, (text.contains("food") || text.contains("apple")) {
    questionImage.image = applePicture
}

您可以将这两个变体包装在一个数组中,然后使用 contains 函数:

if let text = questionLabel.text, ["food", "apple"].contains(where: { text.contains([=10=]) }) {
    questionImage.image = applePicture
}

这将减少代码重复,并且它是可扩展的,以防以后您需要涵盖超过 2 个变体。