Мне интересно, как преобразовать нижеследующее ниже в Swift. Я попытался это, но застрял на концепции:Преобразование enumerateObjectsUsingBlock to Fast Enemuration - Swift
Я зацикливание через все мои объекты с моим атрибутом UICollectionViewLayoutAttributes
[newVisibleItems enumerateObjectsUsingBlock:^(UICollectionViewLayoutAttributes *attribute, NSUInteger idx, BOOL *stop) {
UIAttachmentBehavior *spring = [[UIAttachmentBehavior alloc] initWithItem:attribute attachedToAnchor:attribute.center];
spring.length = 0;
spring.frequency = 1.5;
spring.damping = 0.6;
[_animator addBehavior:spring];
[_visibleIndexPaths addObject:attribute.indexPath];
}];
Swift: Переменная отмеченные * получает ошибку:
for (index, attribute) in enumerate(newVisibleIems) {
var spring:UIAttachmentBehavior = UIAttachmentBehavior(item: ***attribute***, attachedToAnchor: attribute.center)
spring.length = 0
spring.frequency = 1.5
spring.damping = 0.6
self.animator.addBehavior(spring)
self.visibleIndexPaths.addObject(attribute.indexPath)
}
*** Тип 'AnyObject' не соответствует протоколу 'UIDynamicItem'
Я предполагаю, что это потому, что я не сказал атрибуту атрибут, то есть UICollectionViewLayoutAttributes. Но я не знаю, как это написать?
По существу, как преобразовать Objective C в Swift?