Как найти несколько экземпляров класса в target-c - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть класс UIView, у которого есть несколько подпредставлений подкласса UITextField.Есть ли способ перебрать список классов, чтобы найти подклассы UITextField

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Да!

Предполагая, что вы помещаете код в подкласс UIView, вы можете получить массив подпредставлений ...

NSArray *sbviews = [self subviews];
NSMutableArray *textFields; //placeholder for your UITextField subclassed objects.

//enumerate through the subview collection and only add objects to the textFields array that are UITextField objects.
for (id anObject in sbviews) {
    if([anObject isKindOfClass: [UITextField class]]){
        [textField addObject: anObject];
    }
}

Массив textField теперь будет содержать все объекты, относящиеся к классу UITextField ...

0 голосов
/ 08 сентября 2011

Ваш класс UIView имеет массив подпредставлений, в котором перечислены все подпредставления, которые вы добавили в него. Вы можете перебирать массив и искать экземпляры (не классы) объектов UITextField.

for (UITextField* textField in [someView subviews]) {
    if ([textField isKindOfClass:[UITextField class]]) {
        // found one, textField really is a UITextField
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...