在2个视图控制器之间更改数据目标C.

时间:2017-04-02 00:18:10

标签: objective-c xcode uiviewcontroller uitextfield uilabel

我有2个视图控制器:AccountViewController和ChangeEmailViewController。帐户控制器包含用户的电子邮件。用户可以通过按下标题为“更改”的按钮来更改他的电子邮件,并将他带到ChangeEmailViewController。在ChangeEmailViewController中,他可以编写新电子邮件并单击标题为“提交”的按钮来更改电子邮件,并在AccountViewController中显示新电子邮件。(查看图像以查看我在故事板中所做的事情)

image

我的问题是: 1-如何将两个视图控制器连接在一起? 2-如何在ChangeViewController的旧电子邮件部分显示用户的电子邮件? 3-如何使用用户在ChangeEmailController的文本字段中将其写入时将提交的新电子邮件更改为AccountViewController中用户的电子邮件,并将成为AccountViewController中的新电子邮件

1 个答案:

答案 0 :(得分:0)

以下是我的答案

  1. 如何将两个视图控制器连接在一起?
    • 您可以使用委托。您可以通过委托连接两个viewcontrollers。
    • 您可以使用NSNotificationCenter。
    • 您可以将其中一个设置为另一个属性。
  2. 如何在ChangeViewController的旧电子邮件部分中显示用户的电子邮件?

    • 通常,您可以在调用/创建ChangeViewController时传递旧的电子邮件值。也许,您将通过segue标识或Xib标识调用/创建ChangeViewController的实例。 如果使用segue标识,则可以通过覆盖prepareForSeque来传递值。 请注意:How to pass prepareForSegue: an object

    • 如果您使用Xib识别,您可以在下面注明 Passing parameter from one xib to another xib

    • 你可以有另一种方式。如果值存储在DB或BackEnd Server中,您可以在ChangeViewController中再次获取它。 当然,一旦你认为这对你来说是更好的方式。
  3. 如何更改....的电子邮件

    • 您可以使用Delegate或NSNotificationCenter。

    更改值后,您可以通过Delegate使用呼叫功能或通过NSNotificationCenter发送消息。

  4. 好吧,如果您有其他问题,请随时与我联系。

    感谢。