私が作業を始める前に、私の人生でSwiftとXCodeの使い方を詳しく説明しておかなければなりません。私は約1週間前にそれを始めました(そして、どれくらい私が得たかに正直に感銘を受けました)。私は何をしているのか分かりませんが、私は喜んで学びます。テキストフィールドとラベルの編集エラー
今、私の質問に。
ラベルを別のビューコントローラから変更するために、あるビューコントローラからテキストフィールドを取得しようとしています。私はそれを正しかったと思ったが、構文エラーなどを私に投げかけた。それを修正した後、私はコードを実行し、SIGABRTエラーを取得します。ここに私のコードです。
はここBasicViewController下のラベル、だ
class BasicViewController: UIViewController {
@IBOutlet weak var NameField: UILabel!
var NameText = String()
override func viewDidLoad() {
super.viewDidLoad()
NameField.text = NameText
}
を(これはBasicViewControllerでだことすべてではない、私はちょうど私が適切だと思ったものを切り出す)そして、ここEditCharControllerの下に、テキストフィールドです。これがSIGABRTエラーの発生場所です。 (コードの欠如とも、同じこと。)
class EditCharController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var NameTextField: UITextField!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var NameTextDest : BasicViewController = segue.destinationViewController as! BasicViewController //Specifically, this is the line that it happens at.
NameTextDest.NameText = String(NameTextField.text)
}
}
は現在、XCodeのは、letのラベルにVaRのラベルを変更するために私に言っているが、私はそれを行う場合でも、それはこのエラーを吐きます。
Could not cast value of type 'UITabBarController'(?!?) (0x10310c8b0) to 'Project.BasicViewController' (0x1019a0060).
最後に、コード内のどこにでもUITabBarControllerを参照していないことを確認しました。なぜ私はこのメッセージを受け取っていますか?
また、詳細なチュートリアルに関するご意見をいただければ幸いです。
を試してみては 'UITabBarController'のご' BasicViewController'の一部ですか? – Code
segueが 'BasicViewController'に移動していることを確認してください。これは、セグが 'UITabBarController'に行くことを伝えています。 – Connor
@ Code BasicViewController.swiftのどこにでも 'UITabBarController'が表示されません。私はストーリーボードのTab Bar Controllerを持っていて、BasicViewControllerに行きます。そうしないと、EditCharControllerを終了してからタブを表示できなくなります。 TabBarController> BasicViewController> EditCharController> TabBarController ... TabBarControllerはBasicViewControllerに自動的にルーティングされますが、EditBarControllerへのEditCharControllerまたはEditCharControllerからBasicViewControllerに到達するには、無限ループを避けるためにユーザー入力が必要です。それは私の問題ですか? –