【问题标题】:Xcode: he first view doesn't see changes made by the second oneXcode:他的第一个视图没有看到第二个视图所做的更改
【发布时间】:2012-12-16 11:21:55
【问题描述】:

我是 obj-c 编程的新手,尝试在两个视图之间更改值时遇到了一些麻烦。我正在使用 Xcode 4.5 和情节提要,在将更改的值从第二个视图传递到第一个视图时遇到了一些问题。

这是我的 2 个非常简单的视图(发布链接,因为我是新用户并且无法发布图片): https://www.dropbox.com/s/q4o2bblu1p57zod/img.png

这些视图分配给同一个类 (ViewController),我用来更改 2 个标签的代码是:

-(IBAction)setLabel:(id)sender
{
    if (myTextField.text.length != 0) {
        myLabel1.text = myTextField.text;
        myLabel2.text = myTextField.text;
    }
}

问题是Label1正确地改变了它的文本,但与Label2没有任何关系!它不想改变...

我想我正在尝试做一些可以用其他方式制作的东西......你能告诉我它是否正确吗?

【问题讨论】:

  • 创建一个自定义委托 - 它们非常容易做到并在对象之间创建递归关系

标签: iphone objective-c xcode views storyboard


【解决方案1】:

您需要使用 Protocol-Delegate 方法来更新 First view 中的内容。

我建议你访问这个sample link

【讨论】:

    【解决方案2】:

    您的两个视图控制器可能属于同一类,但它们在运行时将是不同的对象。您在它们之间有一个 segue,当它执行时,将创建一个新实例。由于第二个实例的“label2”未显示在其屏幕上,因此您的分配不会产生可见的变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多