2016-08-27 41 views
0

我知道它问过很多次,但我尝试了所有的例子和静止影像停留 我不知道我在怎么做..即时通讯将示例代码中仍然即时得到的错误是不NS代码计数游戏的水龙头结束我想保存水龙头。当玩家开始游戏我想也水龙头,我需要帮助明确水龙头的负载最后一个值..IOS保存标签数据

//Score Counting button 
var count : Int = 0 
@IBAction func ButtonA(sender: AnyObject) { 
//Score counting 
    count += 1 
    Score.text = String(count) } 

//objects 
@IBOutlet weak var Score: UILabel! //this is the taps numbers 
@IBOutlet weak var ScoreInfo: UITextField! 

IM一个初学者请不要重创:)

+0

由于您是初学者,请考虑变量名称应以小写字母开头的命名约定。如果此代码引发错误,则可能忘记将标签连接到Interface Builder中的插座。 – vadian

回答

0

你能更具体与您的问题?获得帮助的一部分是提出正确的问题。有些事情浮现在脑海中:

  1. 您的@IB插座和操作是否正确连接到故事板中的组件?

  2. 当你说“的玩家开始游戏”,这是否意味着你想要的数据坚持每个应用程序启动?如果是这样,那么您将需要使用某种类型的数据库,例如CoreData或Realm来保存您的数据。如果情况并非如此,那么你应该没问题,因为count将持续在任何ViewController持有它。

  3. 对象变量名看起来像他们的继承和的UILabel类的UITextField。我建议你使用骆驼案例(即score,scoreInfo,buttonA)你的变量名称。

  4. 还不确定你想要使用的文本框。标签就像你已经做到的一样。

+0

1)是的计数是完美的工作,但当你重新启动应用程序,它再次从0开始 2)第一次午餐可能会是0,所以当游戏结束时,我想最后一次点击计数保存 3)我不明白:( 4)所以这也意味着我可以使用标签为“你敲了x次”文本?因为我使用文本字段作为信息 感谢您的快速响应 –

+0

1)正确的,它再次从0开始,因为您需要将数据保存在某个地方。仅仅因为变量是在启动时创建的,并不意味着它会在您重新启动应用程序时保留。这就是数据库的用途。 3)用第一个单词小写和第二个单词大写重命名您的变量。一些例子:variableName,camelCase,buttonA,scoreInfo。 4)哦,如果他们都有目的,那很好。 – cloudcal

+0

那我该怎么做? –

0

好吧,我解决我的问题空间感谢想法:)现在我可以节省*成绩,我可以添加*得分最高分,我可以加载最新的*(***这对我来说很重要)得分游戏并不重要的应用程序是关闭或重新启动设备哦,没有境界:)

有代码

import UIKit 

类的ViewController:UIViewController的{

@IBOutlet weak var HighscoreLbl: UILabel! 
@IBOutlet weak var ScoreLbl: UILabel! 

@IBOutlet weak var Reset: UIButton! 
@IBOutlet weak var Counter: UIButton! 

var Score = 0 
var Highscore = 0 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    let HighscoreDefault = NSUserDefaults.standardUserDefaults() 

    if (HighscoreDefault.valueForKey("Highscorekey") != nil){ 
     Highscore = HighscoreDefault.valueForKey("Highscorekey") as! NSInteger! 
     HighscoreLbl.text = NSString(format: "Highscore : %i", Highscore) as String 
    } 



} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func ResetAction(sender: AnyObject) { 

    Score = 0 
    ScoreLbl.text = NSString(format: "Score : %i", Score) as String 

    HighscoreLbl.text = NSString(format: "Highscore: %i", Highscore) as String 


} 

@IBAction func CounterAction(sender: AnyObject) { 

    //Score Start 
    Score += 1 
    ScoreLbl.text = NSString(format: "Score : %i", Score) as String 
    if (Score > Highscore){ 
     Highscore = Score 
     HighscoreLbl.text = NSString(format: "Highscore: %i", Highscore) as String 
    } 
    else { 
    Score += Highscore 
     HighscoreLbl.text = NSString(format: "Highscore: %i", Highscore) as String 

    } 

    let HighscoreDefault = NSUserDefaults.standardUserDefaults() 
    HighscoreDefault.setValue(Highscore, forKey: "Highscorekey") 
    HighscoreDefault.synchronize() 

    //Score End 
} 

}