2017-06-08 6 views
-3

私は私の教会のためのアプリを作るしようとしているとYTチュートリアルの束を見ていますが、私はエラーの多くを取得しています:enter image description hereこれらのXcodeエラーは誰でも助けてくれますか?

import UIKit 
import Firebase 

class ViewController: UIViewController { 
    @IBOutlet weak var emailField: UITextField! 
    @IBOutlet weak var passwordField: UITextField! 
    @IBOutlet weak var myWebView: UIWebView! 

    @IBAction func Website(sender AnyObject) { 

    if let url = NSURL(string: :"http://www.sermonaudio.com/source_detail.asp?sourceid=cfbc1") 
    UIApplication.sharedApplication().openURL(url) { 
    } 

    var userUid: String! 

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

     getVideo(videoCode: "qS6tvqL1N24") 
    } 

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

    func goToCreateUserVC(){ 
     performSegue(withIdentifier: "Feed", sender: nil) 
    } 
    func goToFeedVC() { 
     performSegue(withIdentifier: "Feed", sender: nil) 
    } 
    func getVideo(videoCode:String!) 
    { 
     let url = URL(string: "https://www.youtube.com/embed/\(videoCode)") 
     myWebView.loadRequest(URLRequest(url: url!)) 
    } 
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if segue.identifier == "SignUp" { 
     if let destination = segue.destination as? UserVC { 
      if userUid != nil { 
      destination.userUid = userUid 
      } 
      if emailField.text != nil { 
      destination.emailField = emailField.text 
      } 
      if passwordField.text != nil { 
      destination.passwordField = passwordField.text 
      } 
     } 
     } 
    } 

    @IBAction func signInTapped(_ sender: Any){ 
     if let email = emailField.text, let password = passwordField.text { 
     FIRAuth.auth()?.signIn(withEmail: email, password: password, completion: 
      { (user,error) in 
      if error == nil { 
       if let user = user { 
       self.userUid = user.uid 
       self.goSignUpVC() 
       } 
      } else { 
       self.goToCreateUserVC() 
      } 
     }); 
     } 
    } 
    } 

} 
+1

Stackoverflowはあなたの個人的なヘルプデスクではありません。 [ask]をお読みください。 – dandan78

答えて

1

はSO :)にあなたのコードを投稿してくださいへようこそ次回の質問にお答えします。また、画像ファイルを埋め込むことで、より簡単に質問を見ることができます。 「:」あなたが追加するのを忘れ

ダウンそれから、次の行で Website(sender: AnyObject)

を、あなたはあまりにも遠くダウンあなたの「{」1行を置きます。

句読点の誤りもいくつかあります。

「オーバーライドはクラス内でのみ使用できます」というエラーが表示された場合は、通常、あなたが行ったかっこを忘れてしまったということです。プログラム全体を選択してから、 "エディタ - >構造 - >再インデント"を実行すると、スコープの問題点を確認するのに役立ちます(オーバーライド問題を修正した方法です)。

エラーメッセージをよく読んで注意してください。if文の後ろに「{」がないことと、「期待表現」が表示されている場合は、スウィフトに気が散っていた(あなたが誤字を犯した可能性が高い、または何か不完全なものを残したことを意味する)。

あなたの質問を編集してコードを修正しました。私はを使っていませんでした。あなたが使っているもの(プログラムゲーム)のどれもはほとんど使われていませんでしたが、Xcodeが私に与えた指示に従っただけです(センターのドットが付いたものが正確にそれを修正する方法を教えてくれます):

class ViewController: UIViewController { 
    @IBOutlet weak var emailField: UITextField! 
    @IBOutlet weak var passwordField: UITextField! 
    @IBOutlet weak var myWebView: UIWebView! 

    @IBAction func Website(sender: AnyObject) { 

    if let url = URL(string: "http://www.sermonaudio.com/source_detail.asp?sourceid=cfbc1") { 
     UIApplication.shared.openURL(url) 
    } 
    } 
    var userUid: String! 

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

    getVideo(videoCode: "qS6tvqL1N24") 
    } 

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

    func goToCreateUserVC(){ 
    performSegue(withIdentifier: "Feed", sender: nil) 
    } 
    func goToFeedVC() { 
    performSegue(withIdentifier: "Feed", sender: nil) 
    } 
    func getVideo(videoCode:String!) 
    { 
    let url = URL(string: "https://www.youtube.com/embed/\(videoCode)") 
    myWebView.loadRequest(URLRequest(url: url!)) 
    } 
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "SignUp" { 
     if let destination = segue.destination as? UserVC { 
     if userUid != nil { 
      destination.userUid = userUid 
     } 
     if emailField.text != nil { 
      destination.emailField = emailField.text 
     } 
     if passwordField.text != nil { 
      destination.passwordField = passwordField.text 
     } 
     } 
    } 
    } 

    @IBAction func signInTapped(_ sender: Any){ 
    if let email = emailField.text, let password = passwordField.text { 
     FIRAuth.auth()?.signIn(withEmail: email, password: password, completion: 
     { (user,error) in 
      if error == nil { 
      if let user = user { 
       self.userUid = user.uid 
       self.goSignUpVC() 
      } 
      } else { 
      self.goToCreateUserVC() 
      } 
     }); 
    } 
    } 
} 

また、これは古いSwiftコードなので、エラーが発生しているようです。 Swift 3で書かれたチュートリアルを探してみてください(または古いXcodeをダウンロードしてください)。

チュートリアルは素晴らしいですが、問題解決の方法を教える方法はほとんどありません。これは、デバッガとXcodeのエラーに頼る必要があるときです。ここであなたのエラーを検索してみてください。まだ苦労している場合は、いつでも質問を投稿できます:P

あなたのアプリに幸運を!

+0

ありがとうございます! FIRAuth.authはAuthという名前に変更されていると言っていますが、auth.authの場合、 "auth"タイプのoptinal値では使用できません。 黄色のエラー上のUIApplication.shared.openURLにはエラーがあります。openURLを使用してください:options:completionHandler:代わりにidk意味するものは –

+0

私はfirebaseを持っていません。答えを探してみてください。それを得ることができない場合は、Firebaseタグを使って新しい質問を投稿してください。そうすれば人々が手助けすることができます:P @PanDuhh – Fluidity

関連する問題