Обновлено до xcode7-beta. Я обнаружил предупреждение нового типа. Вот мой код
override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
var attributes: [UICollectionViewLayoutAttributes]? = super.layoutAttributesForElementsInRect(rect)
if let layoutInfo = self.layoutInfo {
attributes?.append(layoutInfo)
}
return attributes
}
предупреждающее сообщение Variable 'attributes' was never mutated, consider changing to 'let' constant
Почему xcode говорит Variable 'attributes' was never mutated
?
Обновление вопроса
предупреждение исчезло, когда я изменил свой код на этот
override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
var attributes: [UICollectionViewLayoutAttributes]? = super.layoutAttributesForElementsInRect(rect)
if let layoutInfo = self.layoutInfo {
attributes!.append(layoutInfo)
}
return attributes
}
поэтому принудительное разворачивание может забрать его. Но это может быть нехорошо, правда?
attributes!.append(layoutInfo)
вместоattributes?.append(layoutInfo)
предупреждение исчезает :) - person Martin R   schedule 10.06.2015