Xcode:他的第一个视图没有看到第二个视图所做的更改
Posted
技术标签:
【中文标题】Xcode:他的第一个视图没有看到第二个视图所做的更改【英文标题】:Xcode: he first view doesn't see changes made by the second one 【发布时间】: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没有任何关系!它不想改变...
我想我正在尝试做一些可以用其他方式制作的东西......你能告诉我它是否正确吗?
【问题讨论】:
创建一个自定义委托 - 它们非常容易做到并在对象之间创建递归关系 【参考方案1】:您需要使用 Protocol-Delegate 方法来更新 First view 中的内容。
我建议你访问这个sample link。
【讨论】:
【参考方案2】:您的两个视图控制器可能属于同一类,但它们在运行时将是不同的对象。您在它们之间有一个 segue,当它执行时,将创建一个新实例。由于第二个实例的“label2”未显示在其屏幕上,因此您的分配不会产生可见的变化。
【讨论】:
以上是关于Xcode:他的第一个视图没有看到第二个视图所做的更改的主要内容,如果未能解决你的问题,请参考以下文章