Как отправить сообщение всем подвидам определенного вида в представлении IOS?

эй, ребята, у меня есть 64 мини-представления, добавленные в один boardView. Я хочу отправить сообщение (метод вызова экземпляра) каждому из этих подпредставлений, чтобы обновить его состояние без одного дополнительного массива, содержащего эти представления в родительском представлении. родительское представление — это мой собственный подкласс UIView. есть ли способ ссылаться на них всех? любые советы? заранее спасибо.


person l.vasilev    schedule 04.09.2014    source источник
comment
Может быть чище использовать шаблон Observer. Погугли это. Или попробуйте использовать NSNotificationCenter.   -  person picciano    schedule 05.09.2014


Ответы (1)


Я не могу представить, почему бы вам не захотеть просто сгруппировать их все в массив, но вы можете просмотреть представления и использовать isKindOfClass: для их проверки. Например:

for (UIView *subview in self.view.subviews)
{
    if ([subview isKindOfClass:[MyCustomClass class]])
    {
        // Do stuff
    }
}
person sfeuerstein    schedule 04.09.2014
comment
Было бы лучше, если бы subview имел тип UIView * вместо id, так как метод subviews дает массив из UIView объектов. - person rmaddy; 04.09.2014
comment
Хороший звонок, я просто пытался быть действительно общим с ним. Я обновил свой ответ, чтобы использовать UIView * - person sfeuerstein; 04.09.2014
comment
хорошо, спасибо, ребята, это прекрасно, я также делаю приведение [(myclassCell *) IteratedSubView update]; и это сработало как шарм :) - person l.vasilev; 04.09.2014