use*_*565 6 objective-c uiviewcontroller uiview ios
我一直在寻找IOS编程的API,并且一直在阅读有关视图控制器和UIViews的内容.它看起来像UIViewController的子类是模式导航和自定义动画真的很有用,但我看不到任何其他用途比.
使用UIViewController子类而不是普通的NSObject子类有什么好处?
为什么
@interface MyViewController : UIViewController {
}
-(void)handleEvent;
@end
Run Code Online (Sandbox Code Playgroud)
而不仅仅是
@interface MyViewController : NSObject {
UIView* view;
}
@property(retain) UIView* view;
-(void)handleEvent;
@end
Run Code Online (Sandbox Code Playgroud)
难道你最后只是将视图添加到窗口,而不是实际的viewController本身?在大多数情况下,您需要封装在UIView对象中的所有功能吗?你最后添加它像这样:
[window addSubview:myViewControllerInstance.view]
Run Code Online (Sandbox Code Playgroud)
除了Modal Navigation等内置功能之外,UIViewController还有用吗?
谢谢.
(对不起,如果这是一个愚蠢的问题,我已经学习了2天了)
Mac OS 和 iOS 上的 Cocoa 大量使用模型-视图-控制器(MVC) 模式。遵循 MVC 模型,UIViewController 是一个 Controller 类。它的工作是协调用户界面(视图对象)和应用程序数据(模型对象)之间的交互。更基本的是,控制器主要是放置应用程序逻辑的地方。它处理事件并相应地调用视图和模型。
请参阅UIViewController 参考,其中对该类有很好的概述。
通过从 UIViewController 派生,您可以免费获得大量 Controller 功能,例如从 Nib 文件加载视图 (initWithNibName:bundle:) 以及响应与视图相关的事件(viewWillAppear:、viewWillDisappear:)。此外, UIViewController 本身是UIResponder的子类,它包含处理触摸事件的功能(touchesBegan:withEvent、touchesMoved:withEvent、touchesEnded:withEvent)。
基本上,没有理由不使用 UIViewController 及其提供的所有功能。即使你能设法做到这一点,也会付出更多的努力,而且没有任何实际好处。
| 归档时间: |
|
| 查看次数: |
1363 次 |
| 最近记录: |