【发布时间】:2013-09-02 02:00:36
【问题描述】:
在 iOS 中,如果一个屏幕包含很多功能,我很难保持其视图控制器的代码干净,因为为同一个屏幕定义了许多方法。特别是对于(例如UITableView、UIAlertView 等)的委托方法,或者如果同一个 VC 文件要同时支持 iPad 和 iPhone,它很快就会变得一团糟。
我还意识到,如果您使用 #ifdef 语句,它会破坏漂亮的 #pragma mark - Title 分组。
问题1 -
你组织一个非常庞大的视图控制器的做法是什么?
问题2 - 同样,对于具有多个部分组件(例如底部菜单、顶部菜单、侧边菜单等)的页面,您如何找到以下模式?
UIViewController *vc_component = ...
[self.view addSubview:vc_component.view];
就 MVC 而言,这对我来说似乎是正确的,因为 vc_component 负责其视图的所有交互。唯一困扰我的是有几个视图控制器同时负责同一个屏幕,这在 IMO 中并不理想。
很想听听你的想法。
【问题讨论】:
-
键入:
pragma mark -当您扫描方法名称时,它会在下拉菜单中的分组之间插入一条线 -
谢谢@JustinAmberson,但正如我所说,我已经这样做了
-
我现在不在办公桌前知道,
#pragma mark - Delegate Methods插入一行吗?如果您只输入#pragma mark -,它会插入一行。#ifdef的作用是什么? -
@JustinAmberson 这是一个 C 预处理器标志,它可以帮助您定义/取消定义标志(或全局值)
-
一段时间后回到我的问题,视图控制器包含(即 addChildViewController)是要走的路
标签: ios objective-c xcode model-view-controller