我正在研究一个大项目。这就是我的应用程序包含大量编码的原因。关于这个项目的有趣之处在于它只包含一个主视图,这个主视图包含25个子视图,每个子视图包含UITableview.so问题,如果我在mainview中声明所有这些子视图和uitableview以及我需要的每个子视图的不同功能它造成混乱。现在为了简化我想为每个子视图创建单独的类,但我不熟悉如何在mainviewviewcontroller中访问所有这些类。如果有人不能理解我的问题,那么请访问此链接。 http://chris-software.com/index.php/2009/05/02/passing-data-between-classes/
答案 0 :(得分:2)
从您的评论中可以看出,您已经编写了类似于您在问题中提到的内容,现在,您尝试使代码可扩展并按照zoul的建议将其分开。
正如zoul所提到的那样,你的问题没有任何确切的解决方案,因为你的问题也不确切,或者说具体。
不幸的是,正如您在评论中提到的那样,您想要实现的目标并非完全可能。但是,让我试着给你一些提示,你可能会在重构代码时觉得有用。
欢迎具体查询。 祝你好运:))
附加说明:尝试遵循Apple提供的设计模式,最重要的是在SDLC的初始阶段。
答案 1 :(得分:1)
首先,肯定会将代码拆分为单独的控制器或视图,否则您将进入痛苦的世界。其次,在Stack Overflow上很难回答你当前的问题,因为这是一个关于架构的问题并且正确回答它需要对你的问题进行更长时间的讨论;没有现成的解决方案。
通常,在这种情况下,您希望将各个屏幕或视图构建为具有接口的单独控制器,这些接口允许它们根据需要连接在一起。 (尽量设计各个控制器以尽可能少地了解其他控制器。)然后,您可以创建一个将创建所有组件并将它们连接在一起的类。有许多特殊工具可以帮助解决这个问题,尤其是iOS 5中引入的UIViewController
包含API。
答案 2 :(得分:1)
考虑到在新的/不同的课程中不时使用相同代码的问题,重用性是关键。 但为了使这一点正确,你必须遵循“松散耦合和高内聚”原则。 从本质上讲,您需要创建每个子视图,就像组件一样,它执行特定的任务,并且不知道或依赖于外部因素,如父项等。 最后,我觉得您在尝试重新使用代码时遇到的主要问题是因为您正在使用IB将功能连接到UI事件。 我建议使用目标和选择器属性进行布线,因为这样可以简化可恢复性并使代码保持谨慎和清洁。
您可以在此处阅读有关耦合和内聚的更多信息Loose Coupling and High Cohesion