Архитектурный шаблон "Мрак в моделях" на нескольких языках и платформах
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

29 řádky
555B

  1. import Foundation
  2. struct M {
  3. var itemsCount: Int = 16
  4. }
  5. func memorySide() -> CGFloat {
  6. return 50
  7. }
  8. func memorySpace() -> CGFloat {
  9. return 20
  10. }
  11. func memoryGap() -> CGFloat {
  12. return memorySide() + memorySpace()
  13. }
  14. func memoryItemPositions(_ M: M) -> [(CGFloat, CGFloat)] {
  15. var pos = [(CGFloat, CGFloat)]()
  16. for i in stride(from: 0, to: M.itemsCount, by: 1) {
  17. let row = floor(Double(i) / 4)
  18. let x = memoryGap() + (Double(i) - row * 4) * memoryGap()
  19. let y = memoryGap() + row * memoryGap()
  20. pos.append((x, y))
  21. }
  22. return pos
  23. }