我在这里看到了答案,这些答案解释了如何告诉编译器循环中数组是某种类型的。
但是,Swift是否提供一种方法,使循环仅循环遍历数组中指定类型的项,而不崩溃或根本不执行循环?
您可以将for循环与case-pattern一起使用:
for case let item as YourType in array { // `item` has the type `YourType` here // ... }
这将仅对数组中类型(或可以强制转换为)的那些项执行循环体YourType。
YourType
for case let textField as UITextField in self.view.subviews { if textField.text == "" { // ... } }