0

首先,我想为将要使用的代码道歉。一般来说,我对编程完全陌生,它可能看起来像.... :)

我的问题如下;

我有 1 个 ViewController (VC1) 和 2 个嵌入式容器视图(两个 TableViewControllers)。我想要的应用程序的 UI 布局的原因,我不能只使用 1 个 TableVieController。这两个容器视图都有文本字段、标签、选择器视图,需要用户提供数据。现在我想用 VC1 中的 1 个按钮保存所有这些数据。

一切都显示没有错误,但是当我点击保存按钮时出现以下错误: 无法将 AddRaptorTableVCContainerOne' (0x1099ad840) 类型的值转换为 AddRaptorTableVCContainerTwo' (0x1099ad270)。

提前致谢!

@IBAction func addRaptorSaveButton(sender: UIBarButtonItem) {

    // Reference to childViewController

    let childViewOne = childViewControllers.last as! AddRaptorTableVCContainerOne

    let childViewTwo = childViewControllers.last as! AddRaptorTableVCContainerTwo


    // Reference moc
    let manObjCon = self.manObjCon
    let addRaptorEntity = NSEntityDescription.entityForName("AddRaptorEntity", inManagedObjectContext: manObjCon!)

    // Create instance of data model and initialize

    var newRaptor = AddRaptorEntity(entity: addRaptorEntity!, insertIntoManagedObjectContext: manObjCon)

    // Map our properties

    newRaptor.image = UIImageJPEGRepresentation(self.addImageView.image, 1)
    newRaptor.name = childViewOne.nameTextField.text
    newRaptor.ringNo = childViewTwo.ringNoInputTextField.text


    // Save our context

    var error: NSError?

    manObjCon!.save(nil)
    println(newRaptor)
4

1 回答 1

0

在两行中,你说这childViewControllers.last是两个不同的东西。使用调试器或通过打印检查实际中childViewControllers的内容,然后选择正确的内容作为AddRaptorTableVCContainerTwo.

于 2015-08-01T16:30:42.937 回答