博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UI:MVC设计模式
阅读量:5245 次
发布时间:2019-06-14

本文共 3029 字,大约阅读时间需要 10 分钟。

不是因为有些事情难以做到,我们才失去自信;而是因为我们失去了自信,有些事情才显得难以做到。自信的第一步就是去尝试。不是因为有希望才坚持,而是因为坚持才有了希望。坚持尝试,就有可能成功。加油!

Xcode的调试: 

计时器的使用:

 

////  AppDelegate.m//#import "AppDelegate.h"@interface AppDelegate ()@end@implementation AppDelegate- (void)dealloc{    self.window = nil;    [super dealloc];}- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease];    // Override point for customization after application launch.        NSArray *colorArray=[NSArray arrayWithObjects:[UIColor redColor],[UIColor orangeColor],[UIColor yellowColor],[UIColor greenColor],[UIColor cyanColor],[UIColor blueColor],[UIColor purpleColor], nil];    for (int i = 0; i < 7 ; i++) {        _view = [[UIView alloc] initWithFrame:CGRectMake(0 + i *20, 0 + i *20,320 - 40 * i ,568 - i * 40)];;        _view.tag = 101 + i;        _view.backgroundColor = colorArray[i];        //        _view.layer.borderWidth = 1;        [self.window addSubview:_view];        [_view release];    }        [NSTimer scheduledTimerWithTimeInterval:0.00002 target:self selector:@selector(fuc:) userInfo:nil repeats:YES];                self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    return YES;}- (void)fuc:(id)sender{    for (int i = 0; i < 7; i++) {        if (i < 6) {            UIView *view = [self.window viewWithTag:101+i];            UIView *view1 = [self.window viewWithTag:101+i+1];            view.backgroundColor = view1.backgroundColor;        }        if (i == 6) {            UIView *view2 = [self.window viewWithTag:101+i];            UIView *view3 = [self.window viewWithTag:101+1];            view2.backgroundColor = view3.backgroundColor;        }    }}@end
跑马灯效果实现

 

UIViewController是MVC设计模式的核⼼。其实就是一对.h .m文件。实现模块的独立化,不同的功能写在一个 UIViewController。

控制视图⼤⼩变换、布局视图、响应事件。 

检测以及处理内存警告(内存5S之后最大为80M,5S之前最大内存限制为30M)。 

检测以及处理屏幕旋转。 (手机处于横屏还是竖屏状态)

检测视图的切换。

 

MVC是⼀个框架级的设计模式。 (我们以后最常用的一个模式 C就是 controller控制   M就是数据(例如LTView里的数据源(存放在数组里))    V就是View视图)  M就好比饮水机,V就好比人口渴了,口渴了就要去饮水机取水,(如果饮水机没有水了,人就渴死了,这时就需要一个视图控制器 controller,controller可以指定去哪里取水,C管理 M 与 V)

M是Model,主要⽤于建⽴数据模型(即数据的结构) 

V是View,我们能看到的所有控件都是view,view主要的功能是展⽰数据。 

C是控制器,主要是控制M和V的通信。

 

做一个应用:先想到应用的需求,再考虑应用后期有可能要增加的模块(就是可扩展性)

总结视图控制器的作用:

是视图控制器的基础类,提供视图控制器的相关功能

     1.分担 AppDelegate 的任务。分担视图布局,和其他业务的逻辑处理

     2.视图控制器是个管理视图的类,用来管理视图,并不是一个视图

     3.自身携带了一个视图,这个视图的大小和屏幕的大小一样,我们称该视图(自身携带的视图)为根视图(self.view 来获得根视图)

     4.用于屏幕的旋转的检测

     5.用 didReceiveMemoryWarning 方法,能够检测内存警告,如果我们收到内存警告,我们就回收暂时不用的视图空间

     6.MVC模式,在 MVC 模式中 UIViewController 就是负责 数据(M) 与 V(视图)之间的通信 UIViewCoontroller (C)就是一个桥梁作用

 

视图控制器里面的几个方法:

 -(void)loadView

- (void)viewDidLoad

-(void)viewWillAppear:(BOOL)animated

-(void)viewDidAppear:(BOOL)animated

-(void)viewWillDisappear:(BOOL)animated

-(void)viewDidDisappear:(BOOL)animated

- (void)didReceiveMemoryWarning

 

快捷键的使用:

shrift + cmd + M 快捷键:让模拟器模拟处于内存警告状态(我们可以在测试的时候使用到该项功能)

推荐一些比较优秀的学习网站:

code4App、CocaChina、CSDN

 

转载于:https://www.cnblogs.com/benpaobadaniu/p/4768876.html

你可能感兴趣的文章
html标签的嵌套规则
查看>>
10个实用的但偏执的Java编程技术
查看>>
C/C++笔试、面试题(下)
查看>>
sql语句查询出数据重复,取唯一数据
查看>>
GitHub上史上最全的Android开源项目分类汇总
查看>>
后台运行命令:&amp;和nohup command &amp; 以及关闭、查看后台任务
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
c# 读/写文件(各种格式)
查看>>
iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法
查看>>
【校招面试 之 C/C++】第24题 C++ STL(六)之Map
查看>>
android基础知识杂记
查看>>
常见浏览器兼容性问题与解决方式
查看>>
Python使用subprocess的Popen要调用系统命令
查看>>
网络编程学习小结
查看>>
常见浏览器兼容性问题与解决方式
查看>>
redis.conf 配置详解
查看>>
thinkphp volist if标签 bug
查看>>
Struts2 Action
查看>>