2017-06-12 5 views
0

ここにSwiftを追加する - 私は、定義済みの時間が経過した後に簡単なセグエア操作を達成しようとしています。しかし何らかの理由で私のxcodeがTimerを認識せず、 "Timer moduleにはscheduledTimerという名前のメンバーがありません"というエラーが表示されます。どこにでも助けを見つけることができませんでした。XCodeがTimer() - Swift 3を認識しない

CODE:

import UIKit 

class ViewController: UIViewController { 

    let emptystring = String() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     var time = Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(changeview), userInfo: nil, repeats: false) 
    } 

    func changeview(){ 
     self.performSegueWithIdentifier("GoToMain", sender: self) 
    } 

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if (segue.identifier == "GoToMain"){ 
      let destination = (segue.destinationViewController as! UINavigationController).viewControllers[0] as! SecondView 
      destination.emptyString = emptystring 
     } 
     print("Segue Performed") 
    } 

} 

Picture

もエラーを含め、私の全体のコードを示しています。注:私自身のコードではありません。あなたが timerIntervalとして最初のパラメータを宣言した

Xcode Swift 3: Timer and Segue View Controller Error

答えて

1

Timerはスウィフト3種類ですが、あなたのメソッドのシグネチャの残りの部分から判断すると、あなたはスウィフト2. NSTimerを使用しているように見えますスウィフト2で。


また、今後の参考として、timeInterval typo(これは修正済みです)、3番目のパラメータはselectorで、selecterではありません。


ので、スウィフト2:スウィフト3

NSTimer.scheduledTimerWithTimeInterval(8.0, target: self, selector: #selector(changeview), userInfo: nil, repeats: false) 

またはIn:この質問は、タイプミスの結果である

Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(changeview), userInfo: nil, repeats: false) 
+0

NSTimerを使用しても、同じエラーが繰り返されます。 p.s:私は愚かな間違いを極度にお詫びします。 –

+0

@ZairaZafar上記の改訂版のSwift 2とSwift 3を参照してください。スタックオーバーフローのコードをカットアンドペーストするときに問題がある場合は、貼り付けられたコードをコメントにして、自分で入力して "コード補完"に頼って正しい構文、ラベルなどを得てください。 – Rob

+0

ありがとうそんなに!これは役に立ちます! –

1

が、それは代わりにtimeIntervalをする必要があります:私は次のリンクでの質問への答えを追いました。

var time = Timer.scheduledTimer(timerInterval: 8.0, target: self, selecter: #selector(changeview), userInfo: nil, repeats: false 

へ:

ので変更

var time = Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(changeview), userInfo: nil, repeats: false) 
+0

場合は、投票が理由」との質問を閉じますこの問題は、もはや再現できない問題や単純な誤植**によって引き起こされました。答える代わりに。 – JAL

+0

編集しました。エラーは引き続き発生します。引数の問題だった場合、不正な引数が強調表示されていました。 P.s:上記の修正に感謝しますが –

関連する問題