【发布时间】:2015-05-26 12:54:58
【问题描述】:
我有一个相当复杂的设置,并且正在寻找有关如何构建我的代码的建议。当您按下用户图像之一并可以在它们之间滑动时,我正在尝试做的是类似于 twitter 的事情。这是我目前拥有的:
-
UIViewController子类从服务器收集数据,并通过名为theData的变量将其传递给UITableViewController子类 - 这个
UITableViewController子类还在用户滚动到表格视图底部并将其附加到theData时收集更多数据(即使用分页)。这个UITableViewController子类在整个应用程序中重复使用,以便可以将来自不同来源的数据传递给它。 - 当用户单击
UITableViewCell时,会创建一个UIWindow,其中包含UIPageViewController。窗口使用UITableViewController作为访问theData的委托,并将theData从委托传递给UIPageViewController在名为pageData的变量中 -
UIPageViewController的每一页都是一个UIViewController,它从pageData加载图像
下一阶段是在用户滑动到UIPageViewController 中的pageData 末尾时进行分页。但是我认为我的代码结构不够好,无法重用UITableViewController 中的分页代码。请问有人能给我建议如何改进这个代码结构吗?
谢谢
编辑
第一个要点中的UIViewController 不仅仅用于下载数据(其中还有其他视图)。
我使用UIWindow 封装UIPageViewController,因为我希望它从UITableViewCell 的框架扩展并“接管”全屏 - 覆盖状态栏。
【问题讨论】:
-
您不需要创建
UIWindow,已经有一个,您只需实例化一个新的UIViewController或其子类并将其呈现/推送到导航堆栈上。我认为我们帮不上什么忙,因为我们不知道您的代码在多大程度上是“非结构化”来提供解决方案的 -
这可能更适用于程序员或代码审查
-
有一个更简单的解决方案。转到 github(或其他类似站点)并搜索并找到可用于照片浏览的众多现有库之一。
-
好问题!我期待着阅读明智的答案。
标签: ios code-structure