【问题标题】:iOS, objective C - good example of application without XIB with MVCiOS,objective C - 没有 XIB 和 MVC 的应用程序的好例子
【发布时间】:2012-03-10 10:53:05
【问题描述】:

我是 iOS 开发的新手,具有 ActionScript3 和 MVC 的背景。我喜欢编码,我不想在我的项目中使用任何 NIB/XIB 文件(我被告知我会更快地学习 Objective C),我正在寻找一个使用 MVC 模式的 iOS 应用程序的好例子刮。 我知道有很多很好的例子(比如Good example code for Objective-C),但我还没有找到没有使用NIB/XIB 的例子。 有什么想法吗?

【问题讨论】:

  • 我也喜欢编码;但我看不出花时间使用 Interface Builder 学习它如何与您的代码交互有任何不利之处。相信我,无论如何你都会学到很多 ObjC。
  • 好的,你是说这甚至可以帮助我学习使用设计师创建的特定 UI 自定义元素进行编码?
  • @Krzysztof 是的,使用 IB 仍然有助于理解代码在项目中的布局方式,如果 IB 不是你的菜,那么还有很多 Obj-c 程序示例

标签: objective-c ios xcode cocoa-touch cocoa


【解决方案1】:

我会尽量给你一些指导。

首先。如果你需要一些好的教程,我建议你在 iTunes 上观看 Brad Larson 或 Standford 的课程。他们真是太棒了。

那么,如果你想从头开始创建你的 MVC,我建议你看看UIViewController 类参考。

顾名思义,每个UIViewController 都是一个控制器。该模型可以包含在控制器本身(例如NSArray)或由“外部”实体(例如核心数据)提供。每个控制器都有一个视图属性。视图是显示在屏幕上的元素。通常可以由 XIB 或 Storyboard 文件提供。作为apple documentation suggested

如果您无法在故事板或 nib 文件中定义视图, 重写 loadView 方法以手动实例化视图层次结构 并将其分配给视图属性。

换句话说,在您的视图控制器类中,您需要添加以下内容:

- (void)loadView
{  
   UIView* myCustomView = ...
   self.view = myCustomView;
}

通过这种方式,您可以完全控制屏幕上呈现的视图。这意味着您需要提供视图元素的大小和位置。虽然可以通过 XIB 或 Storyboard 文件中的用户友好界面来完成类似的安排,但在其他情况下您需要手动完成(例如处理框架、自动调整蒙版等)。

希望对你有帮助。

【讨论】:

  • 非常感谢!基本上我试图了解 AppDelegate 到底是什么。他们说这是为了摆脱多重继承,但那有什么问题呢?我只需要知道如何结构化我的文件,以建立 som 层次结构。
  • 不客气。你可以从我提供的教程开始。如果需要,标记为已回答。干杯。
  • 简单来说,AppDelegate 就是你的应用程序的入口点。如果您知道 Adob​​e Flex 与 Application 相同。
猜你喜欢
  • 1970-01-01
  • 2012-07-04
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 2014-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多