AK
Size: a a a
MG
SK
AK
MG
MG
MG
AK
 itemPerRow:CGFloat = 2 // количество ячеек
    let sectionInsert = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20) // отступы от ячейки PhotoCVC: UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let paddingWidth = sectionInsert.left * (itemPerRow + 1) // количество отступов
        let availableWidth = collectionView.frame.width - paddingWidth // от ширины коллекции отнимаем расстояние на отступы
        let widthPerItem = availableWidth / itemPerRow // актуальный размер ячейки
        return CGSize(width: widthPerItem, height: widthPerItem) // указываем актуальный размер ячейки для соотношения 1:1
    }MG
PM

AK

PM
AK
PM
🅰Б
var array = [5, 3, 2, 1, 7]
var result = [(original: Int, sortIndex: Int, index1: Int)]()
for i in array.enumerated() {
    result.append((original: i.element, sortIndex: i.offset + 1, index1: 0))
}
result.sort { (lhs, rhs) in
    lhs.original < rhs.original
}
for i in result.enumerated() {
    result[i.offset].index1 = i.offset + 1
}
result.sort { lhs, rhs in
    lhs.sortIndex < rhs.sortIndex
}
for i in result {
    print(i.original, i.index1)
}🅰Б