【问题标题】:change a property in another viewcontroller更改另一个视图控制器中的属性
【发布时间】:2013-07-31 20:38:45
【问题描述】:

我在 stackoverflow 上搜索了如何从另一个 ViewController 运行方法,但没有找到答案。 我有一个ViewController1 使用AVAudioPlayer 播放音频,我希望我的ViewController2 能够改变它的音量。

我已经尝试了基本操作:在ViewController2 中调用一个方法来更改ViewController1 中的音​​量。
这行不通。该方法可以输出日志,但不能更改属性。

谢谢

【问题讨论】:

  • 如果您创建视图 1 的对象,然后尝试更改音量,则它将不起作用。
  • 您能解释一下如何从视图控制器 2 中的方法访问视图控制器 1 吗?如果您正在创建一个新的 View Controller 1 实例,它将无法工作。
  • @veducm 我就是这样做的。如何访问加载的视图?
  • 如果您创建一个新的 View Controller 1 实例,它将与您拥有的实例不同。因此,如果您的代码需要加载、初始化视图等,您应该通过应用程序委托、父视图控制器或通过在视图控制器 2 中具有引用现有视图控制器的属性来访问原始视图控制器 1 实例1.
  • @veducm 如何引用现有的 View Controller 1?

标签: ios methods properties viewcontroller


【解决方案1】:

您需要将消息从ViewController2 传递给ViewController1
为此,请使用:
1. 通知
2. 委托

如果你不知道这两个教程,这里是链接。
http://devinsheaven.com/cocoa-tutorial-passing-messages-between-objects-notifications-delegates-and-target-action/

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多