Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIView和模型视图控制器(MVC)模式_Iphone_Ios4_Iphone Sdk 3.0 - Fatal编程技术网

Iphone UIView和模型视图控制器(MVC)模式

Iphone UIView和模型视图控制器(MVC)模式,iphone,ios4,iphone-sdk-3.0,Iphone,Ios4,Iphone Sdk 3.0,我正在尝试开发一个应用程序来听iPod中的音乐(类似于AddMusic示例)。我有一个带有自定义视图的ViewController,它有一些图形和按钮来管理音乐播放。使用navigationController,我可以从iPod音乐中选择一个列表,并将其显示到UITable(作为AddMusic) 现在我必须对所有方法进行编程,以管理要播放、停止、播放、持续时间等的音乐列表 我的问题是: 为了遵循“模型-视图-控制器”模式,在主视图控制器中或在具有与用户交互的按钮的视图中,哪里是编程所有非视图方

我正在尝试开发一个应用程序来听iPod中的音乐(类似于AddMusic示例)。我有一个带有自定义视图的ViewController,它有一些图形和按钮来管理音乐播放。使用navigationController,我可以从iPod音乐中选择一个列表,并将其显示到UITable(作为AddMusic)

现在我必须对所有方法进行编程,以管理要播放、停止、播放、持续时间等的音乐列表

我的问题是:

为了遵循“模型-视图-控制器”模式,在主视图控制器中或在具有与用户交互的按钮的视图中,哪里是编程所有非视图方法(管理音乐)的最佳位置

我认为答案应该是主ViewController,但在这种情况下,我如何从视图中访问该方法,其中我有用户界面按钮,并且我正在管理一些图形?因为UIView没有类似于“parentViewController”的内容

多谢各位


Kanick

您可以声明一个完全继承主ViewController的类。在第二个视图控制器中,您可以创建该类的实例。最终,该对象将在主视图控制器中保存所有信息。

谢谢@Mikayil,我已经尝试了你的想法。我真的没有两个视图控制器。我有一个viewController(我的mainViewController)和一个视图(即[mainViewController设置视图:myView])。无论如何,我按照你的建议做了,我声明了一个新类->@接口inheritsFromMyMainViewController:myMainViewController{}。好的,我可以访问myMainViewController的方法,但不能访问它的IVAR(可能是我做错了什么),因为(id)发送方是myView,另一点是我需要处理currentTime以移动图形。我是对的?达成物体IVAR的约定是通过@property。如果您既没有为ivar声明属性,也没有getter和/或setter方法,则无法访问它们。所以请确保您使用任何一种方式。我当然建议使用@property-way,因为它可以使用点语法。但我不明白currentTime和move Graphics之间的关系。