2017-05-31 5 views
1

私はこれに似た質問に出くわしましたが、多くは古いバージョンのXcode用であったり、単純に機能しませんでした。 私はXcodeバージョン8.3.2(8E2002)とSwiftコーディング言語を使用しています。私は多くのコーディングについて知らないが、若くて学びたいと熱望している! 私はclicker gameを作成しています。これは、あなたがゲーム自体にいることを毎秒お金にするでしょう。したがって、2分間アイドル状態にすると、$ 120($ 1秒の@ 120秒)が与えられます。これに加えて、メインオブジェクトをクリックしても収益を得ることができます。ここ は私がこれまでにコーディングされていますSwiftを使用してタイマーを追加するにはどうすればよいですか?

import UIKit 

class ViewController: UIViewController { 

var score = 0 
var add = 1 

func addpersec() { 

    score += 1 
} 
//func used to add to the score based timer. Aka, adding 1 per second 



@IBOutlet weak var scorecount: UILabel! 


@IBAction func clicks(_ sender: Any) { 
    score += 1 
    scorecount.text = "Honey: \(score)" 
} 

@IBOutlet weak var Bees: UITableView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

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


} 
+0

を使用することができ、合法的な質問のように思える – hasen

答えて

4
class ViewController: UIViewController { 
    var timer: Timer? = nil // Property 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     self.timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(handleTimer), userInfo: nil, repeats: true) 
    } 

    func handleTimer(_ timer: Timer) { 
     print("Timer ticking!") 
    } 
} 

タイマーを無効にするには、呼び出しself.timer?.invalidate()

+0

Xcodeは「NSTimer」と述べています'Timer'という名前に変更されました – Traxido

+0

@Traxidoでは 'Timer'を使用します。これは以前は 'NSTimer'でしたが、Objective-Cに由来する接頭辞(NSなど)を削除することによって多くのクラス名が変更されています。 –

+0

ありがとうございます。私はXcodeを初めて使用していますので、すべてを完全に理解することはできませんが、未解決の識別子 'YourViewControllerSubclass'の使用については別のエラーが表示されました。 " – Traxido

0
ご質問はiOSのUIに関連すると思われるので、私の答えは、理にかなっている場合、私は知らない

。一般的な目的のために

が遅れる(JavascriptののsetTimeoutのような)関数の実行、私はdownvoteが何のためにあるのか分からないDispatchQueue

// have this as a global somewhere 
let bg = DispatchQueue(label: "bg", qos: .background, target: nil) 

// anywhere else in your code: 

// First decide the time to execute your function 
let delayInSeconds = 3 
let when = DispatchTime.now() + delayInSeconds 

// call it 
bg.asyncAfter(deadline: when) { 
    // code to execute later (this is the body of an anonymous function) 
} 
関連する問題