oc学习之路----scrollView的代理模式】的更多相关文章

右图是OC里面scrollView的代理的描述,从这里可以开出来,任何对象都可以作为scorllView的代理对象只要实现了UIScrollViewDelegate这个协议,为什么呢,原因要追究到UIScrollView和delegate的通讯,大致分以下3个:1.在SV被拖拽的时候要给代理发送特定的消息,2.在滚动到特定位置的时候发送特定的消息.3.在用户停止拖拽的 时候也会发送消息.消息即方法,具体调用了以下三个方法,分别是: 所以,要想做SV的代理,必须有这三个方法,而UIScrollVi…
今天刚学完oc的代理模式,觉得有点新奇,第一次接触,原理 A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议 (protocol),B继承该协议来完成A代理给他的事情 步骤,先在类A中写一个协议,在协议中声明一些方法,并且在属性中声明一个代理属性,这个属性id<协议>让我想起jquery,我觉得像是过滤掉一些类,也就是说不是任何一个类都可以作为A类的代理,必须实现协议,并继承(不知道用词恰当不恰当),协议的一些方法,至于为什么,我是这样理解的,由于类A中的…
之前已经写过一个个人关于代理模式的一些看法,现在就来总结一下使用代理模式的步骤吧. 1.先搞清楚谁是谁的代理(delegate) ● 2.定义代理协议,协议名称的命名规范:控件类名 + Delegate ● 3.定义代理方法 Ø代理方法一般都定义为@optional Ø代理方法名都以控件名开头 Ø代理方法至少有1个参数,将控件本身传递出去 Ø 4.设置代理(delegate)对象  (比如myView.delegate = xxxx;) Ø代理对象遵守协议 Ø代理对象实现协议里面该实现的方法 Ø…
用到的技术:自定义cell,通知机制,代理模式 transform 1.自定义cell(通过代码自定义cell) ①首先新建一个类继承UITableViewCell ②重写initWithStyle:reuseIdentifier方法 这里只需要把所有要显示的子控件添加到contenView中,在这一步一般不需要设置属性的, 但是如果是一些子控件中一些静态的属性,字需要一次性设置的话,就在这里 设置,在重写frameSet方法的时候在把一些比较动态的数据填充上去以及设置 每个子控件的frame…
子类复子类,子类何其多 假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能:比如红外线夜视功能,比如水陆两栖功能,比如卫星定位功能等等. 动机(Motivation) 上述描述的问题根源在于我们"过度地使用了继承来扩展对象的功能",由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性:并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承).如何使"对象功能的扩展&quo…
前言:看这篇博客之前要准备:首先的有一个99刀的个人开发者账号或者199刀的企业开发者账号,其次你用的是apns消息推送,(本人之前四处打听有没有其他消息推送的方法:收获如下:首先如果想做到apns的效果,退出app后还能收到信息,只能用apns,其他的消息推送,xmpp不能像他一样,我也没用过,其次,apns相对来说没有那么耗资源) 最后你要对apns有一定的了解.网上很多,我就不多说了. 咳咳!开始 一 , 首先证书的准备,步骤: 1  获取 CertificateSigningReques…
---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 取得是目标存储空间的值  p2取得的是目标存储空间的存储地址,&p1取得是当前存储空间的存储地址, 二级指针使用: #include <stdio.h> void change3(int **p2){ int ***d3 = d2; ***d3 = 60 } void change2(i…
与 Qt model/view 架构类似,在自定义用户界面中,代理扮演着重要的角色.模型中的每一个数据项都要通过一个代理向用户展示,事实上,用户看到的可视部分就是代理. 每一个代理都可以访问一系列属性和附加属性.这些属性及附加属性中,有些来自于数据模型,有些则来自于视图.前者为代理提供了每一个数据项的数据信息:后者则是有关视图的状态信息. 代理中最常用到的是来自于视图的附加属性ListView.isCurrentItem和ListView.view.前者是一个布尔值,用于表示代理所代表的数据项是…
一.UserAgent UserAgent 中文意思是用户代理,简称UA,它是一个特殊字符串头,使得服务器能够识别用户 设置UA的两种方式: 1.heads from urllib import request, error if '__name__' == '__main__': url = "http://www.baidu.com" try: headers = {} headers['User-Agrnt'] = "User-Agent"," Mo…
刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *lastVersion = [defaults stringForKey:key]; // 取出当前版本号 NSString *currentVersion = [NSBun…