Первый метод является единственным рабочим методом из двух.
Второй метод добавил бы все подпредставления в массив. То есть если вы измените subViews
на subviews
.
Вы можете сделать следующее:
for (UITextField *textField in [self.view subviews]) {
if ([textField isKindOfClass:[UITextField class]]) {
[mutableTFs addObject:textField];
}
}
Таким образом, вам не нужно будет преобразовывать представление в текстовое поле, чтобы сделать что-то конкретное для текстового поля, а не просто добавить его в массив.
РЕДАКТИРОВАТЬ: Если вы не хотите конвертировать в текстовое поле сразу, возможно, потому что вы ищете как текстовые поля, так и текстовые представления. Вот как вы могли бы преобразовать это позже:
for (UIView *view in [self.view subviews]) {
if ([view isKindOfClass:[UITextField class]]) {
UITextField *textField = (UITextField *)view;
// Do whatever you want with the text field.
}
if ([view isKindOfClass:[UITextView class]]) {
UITextView *textView = (UITextView *)view;
// Do whatever you want with the text view.
}
}