ios - 文本字段和标签编辑错误

标签 ios xcode swift

在开始之前,我不得不说,这个项目标志着我一生中第一次深入使用 Swift 和 XCode。我大约一周前开始了(老实说,我对自己所取得的进展印象深刻)。我对自己在做什么不太了解,但我愿意学习。

现在,回答我的问题。

我正在尝试从一个 View Controller 获取文本字段以更改另一个 View Controller 的标签。我以为我做得对,但它不断向我抛出语法错误等。修复该问题后,我将运行代码并收到 SIGABRT 错误。这是我的代码。

这是 BasicViewController 下的标签(这不是 BasicViewController 中的全部内容,我只是剪掉了我认为相关的内容)

class BasicViewController: UIViewController {

    @IBOutlet weak var NameField: UILabel!

    var NameText = String()

    override func viewDidLoad() {
        super.viewDidLoad()

        NameField.text = NameText
}

这是 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 告诉我将 var 标签更改为 let 标签,但即使我这样做,它也会抛出此错误。

Could not cast value of type 'UITabBarController'(?!?) (0x10310c8b0) to 'Project.BasicViewController' (0x1019a0060).

上次检查时,我没有在代码中的任何地方引用 UITabBarController。为什么我会收到此消息?

此外,任何有关良好深入教程的建议都将非常感激。

最佳答案

尝试

let index = 0 // change this to the tab index of the BasicViewController.
let NameTextDest : BasicViewController = (segue.destinationViewController as! UITabBarController).viewControllers[index] as! BasicViewController

NameTextDest.NameText = NameTextField.text!

关于ios - 文本字段和标签编辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37993528/

相关文章:

ios - 尽管应用程序处于横向模式,但仍会调用 willHideViewController

ios - 无法设置 CEMarker 的碰撞优先级

iphone - iPhone 5 的图像命名约定

ios - 如何根据父 View 调整 subview 的大小和位置?

swift - 如何在 Swift 3 中画一条线

ios - 如何在不同的类中使用公共(public)代码

ios - NSValidationMissingMandatoryPropertyError 问题,但所有字段都已填充

ios - 增加 UITableViewCell 分隔符的高度

iOS 6 vs 7 外观build设置

swift - 更改组合图表中的 yValue 标签垂直间距(ios-charts)