Jump to content

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Photo
- - - - -

Swift i tablice wielowymiarowe


  • Please log in to reply
4 replies to this topic

#1 dazinf

dazinf
  • 10 posts
  • SkądKarpacz

Posted 20 April 2016 - 18:12

Potrzebuję zadeklarować tablicę wielowymiarową (taką niby macierz, żeby móc potem na niej liczyć). No i niestety musi być dwuwielowymiarowa. 

Przyzwyczajenia z C++ sugerują mi coś w stylu var table [2][5] = wartość. Ale to niestety nie działa.

Jak rozwiązać ten problem. Są jakieś alternatywy?

 


"Żyj dziś."

#2 AdiGITAL

AdiGITAL
  • 400 posts

Posted 20 April 2016 - 21:23

Potrzebuję zadeklarować tablicę wielowymiarową (taką niby macierz, żeby móc potem na niej liczyć). No i niestety musi być dwuwielowymiarowa. 
Przyzwyczajenia z C++ sugerują mi coś w stylu var table [2][5] = wartość. Ale to niestety nie działa.
Jak rozwiązać ten problem. Są jakieś alternatywy?

Spróbuj tego:
var NumColumns = 27
var NumRows = 52
var array = Array()
for column in 0..NumColumns {
array.append(Array(count:NumRows, repeatedValue:Double()))
}

Wygrzebane z: http://stackoverflow...arrays-in-swift

#3 enedil

enedil
  • 108 posts
  • SkądPorfia, Chile

Posted 20 April 2016 - 22:47

Generalnie ta odpowiedź [1] zawiera mnóstwo dobrych rozwiązań.

 

[1] https://stackoverflo...arrays-in-swift



#4 dazinf

dazinf
  • 10 posts
  • SkądKarpacz

Posted 21 April 2016 - 09:50

Spróbuj tego:
var NumColumns = 27
var NumRows = 52
var array = Array()
for column in 0..NumColumns {
array.append(Array(count:NumRows, repeatedValue:Double()))
}

Wygrzebane z: http://stackoverflow.com/questions/24051490/multidimensional-arrays-in-swift

 

A jak z tego wyciągać i wrzucać wartości? 


"Żyj dziś."

#5 AdiGITAL

AdiGITAL
  • 400 posts

Posted 21 April 2016 - 22:20

Np:

array[0] = [0,1,2]

array[1] = [3,4,5]

 

print("Element zawiera wartość \(array[1][1])")

 

Może bez pętli będzie łatwiej. Wrzuć sobie to do Playground i się pobaw:

 

var array3D: [[[Int]]] = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]

array3D[0]

array3D[0][1]

array3D[0][1][1]


Edited by AdiGITAL, 21 April 2016 - 22:23.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users