for(UIView *view in [_scrollView subviews]) {
NSMutableArray *_mutableArray = [_array mutableCopy];
[_mutableArray filterUsingPredicate:[NSPredicate predicateWithFormat:@"guid like %@",view.object.guid]];
if([_mutableArray count] != 0) {
//object is already on screen we need to update it
[view setObject:(Object*)[_mutableArray objectAtIndex:0]];
}
else {
//object not on screen add it
_mutableArray = [_array mutableCopy];
[_mutableArray filterUsingPredicate:[NSPredicate predicateWithFormat:@"guid not like %@",view.object.guid]];
UIView *newView = [[UIView alloc] initWithObject:(Object*)[_mutableArray objectAtIndex:0]];
[_scrollView addSubview:newView];
}
}
Как вы можете видеть, этот метод обновляет объекты, которые отображаются на экране, и, если объект не отображается на экране, он создается и добавляется в иерархию подпредставления scrollView.
Теперь меня беспокоит то, что я изменяю иерархию подпредставлений scrollView, перечисляя ее. Будет ли это в конечном итоге сбой моего приложения?
Если да, как я могу изменить приведенный выше код для обеспечения безопасности и достижения той же функциональности?
Спасибо!