The kalView analyze

首先搞清楚view的层级关系,怎么样子可以加载在一个view中,kalview又有多少种subview。

首先这里KalView可以知道kalview直接复制到self.view上了。。

KalView *kalView = [[KalViewalloc] initWithFrame:[[UIScreenmainScreen] applicationFrame] delegate:self logic:logic];

self.view = kalView;

再分析, kalview里有subview种类:headerview、grid view、tableview


这里的内容就比较复杂,headerview直接加在self里、gridview、tableview 被加载在self.contentview中,当然contentview

是被加在self里的。。

这里的逻辑清晰了之后,就是gridview的了。

Gridview的subview里有MonthView,MonthView的subview里有KalTitleView …

大致梳理下就是这样的层级关系!



再看下logic:

kalView中定义了两个logic相关的对象,delegate与logic。

KalGridView中定义了两个logic相关的对象,delegate与logic

说明了什么? 有什么作用?


分析了代码后发现,原来这两处的logic相关的对象是相同的,在kalview init 、gridview init中被赋值

首先看下delegate 这个能够做什么呢? 可以考虑成一个存在的“第三方”,第三方内存在了一些方法,方法Ⅰ,方法2,方法3.。。

kalview ,gridview里的对象的执行的delegate,就找到了这些函数了。

但是实际的执行点是在那里的呢? 就是谁代理,谁调用,被calendarviewcongroller的self真正执行了。。

so,this is delegate。。

等等,CalendarViewController好像被说的太少了,它这里做了什么操作的呢? 我们到h、m里看下,与KalViewDelegate相关的在.h里只有这样

@class KalLogic,KalDate;

@interface CalendarViewController : UIViewController

<

KalViewDelegate,

KalDataSourceCallbacks,

UITableViewDelegate

so,在calendarviewcontroller.m里init时候with delegate self就不难理解了,真正执行的是calendarviewcontroller,而那两个都是发发号令,做做指挥,喝喝茶,看看报纸,浏览浏览网页,看看妹纸。。。抱歉,我扯淡扯多了!

还得说下logic:

吃饭先,未完待续。。。

上回说到了delegate,现在讲下logic,我搜索了下logic,发现其在4个类内有用到,calendarviewcontroller,kalview,gridview,当然还有他自己kalogic。

大致看了下,其就是一个控制的属性,想一张网一样连接其他的类的关系,并处理各种关系引起的各种问题,这个就是logic处理的内容。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值