Swift:未标记的“break”仅允许在循环或开关内,需要标记的中断才能退出 if 或 do

tec*_*man 6 for-loop swift

我试图打破 for 循环中的“if”条件并收到此错误。下面是代码:

var isPresent = false
arrayList.forEach { item in
  if item.contains("xyz") {
     isPresent = true
     break
   }
} 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

未标记break仅允许在循环 or 内,需要switch标记才能退出or "breakifdo

我可以不在这里使用未标记的中断吗?

Ale*_*ica 11

闭包只能return超出其本地范围,没有非本地返回(就像在 Ruby 或 Kotlin 中一样)。你不能break像这样摆脱他们。

无论如何,您使用了错误的函数,因此您可以完全回避这个问题:

let isPresent = arrayList.contains(where: { $0.contains("xyz") })
Run Code Online (Sandbox Code Playgroud)