ios - Trouble loading data from arrays -
in swift have array follows:
var storedlevels = [ 1:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 7, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 2:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] ]
i need able load array storedlevels[1]
variable, loop through values in variable.
at time have working, have explicitly set 1 x in storedvalues[x]
loop through code.
this function i'm using:
func loadlevel(level: float) { var x: int = 0 var y: int = 0 let blocks = storedlevels[1] var i: cgfloat = 0; <= (gblockcounty); += 1 { y = int(i) var i: cgfloat = 0; <= (gblockcountx-1); += 1 { x = int(i) var blockcounttotimes: cgfloat = cgfloat(y)-1 if blockcounttotimes < 0 { blockcounttotimes = 0 } let blocknumber = (gblockcountx * blockcounttotimes) + cgfloat(x) if let block = blocks?[int(blocknumber)] { addblocktogrid(cgfloat(block), x: cgfloat(x), y: cgfloat(y)) } else { addblocktogrid(1, x: cgfloat(x), y: cgfloat(y)) } } } }
how can make let blocks = storedlevels[1]
use value passed function (level: float
) replace 1?
storedlevels
dictionary of type (int, [int])
, not array. don't know why need have key (and hence makes dictionary). fine:
var storedlevels = [ [0, 0, 0, ...], [1, 1, 1, ...] ] let blocks = storedlevels[int(level) - 1]
now dictionary: key of type int
level
float
. can there level 1.5? if want go dictionary paradigm, cast level
int
:
let blocks = storedlevels[int(level)]
Comments
Post a Comment