ios - How do I increment and save a int value in Swift? -
im trying keep track of how many times user loses in game. every loss goes 1. want save user see how many total times lost. right code have works first time , goes 1 if lose in game after stays @ 1. doing wrong? thanks!
class level1: skscene, skphysicscontactdelegate, gkgamecentercontrollerdelegate { var deathscore = 0 override func didmovetoview(view: skview) { var deathlabel = sklabelnode() deathlabel = sklabelnode(fontnamed: "ladyice-3d") deathlabel.text = "100" deathlabel.zposition = 14 deathlabel.fontsize = 100 deathlabel.fontcolor = skcolor.darktextcolor() deathlabel.position = cgpointmake(self.size.width / 1.1, self.size.height / 1.4) deathlabel.hidden = true self.addchild(deathlabel) } if firstbody.categorybitmask == herocategory && fourthbody.categorybitmask == gameovercategory { deathscore++ deathlabel.hidden = false let defaults = nsuserdefaults() let savedeaths = nsuserdefaults().integerforkey("savenumberofdeaths") if(deathscore > savedeaths) { nsuserdefaults().setinteger(savedeaths, forkey: "savenumberofdeaths") } var shownumberofdeaths = defaults.integerforkey("savenumberofdeaths") deathlabel.text = string(shownumberofdeaths) } }
you declaring new var deathscore everytime, initialized 0 , incrementing it. 1.
nsuserdefaults().setinteger(nsuserdefaults().integerforkey("savenumberofdeaths")+1, forkey: "savenumberofdeaths") deathlabel.text = nsuserdefaults().integerforkey("savenumberofdeaths").description
Comments
Post a Comment