首页 > 代码库 > 8-25---8-27小小笔记

8-25---8-27小小笔记

1、类别与扩展:

      类别能增加功能,不能定义变量。。类别就是在“ @interface  类名()”,“@implementation  类名()”括号里加东西的;扩展不能增加功能,能定义变量。。类名后面加括号就代表扩展,标示可以在下面定义实例变量。

2、实例变量就是成员变量,全局变量是定义在类外面的变量。。

3、@synthesize 属性 = xxx;

   将属性改为以实例变量的形式存在。(不会有下划线了)但是setter和getter方法不会变,他们是在.h文件里就已经生成了的

4、KVC与KVO:

      KVC是通过一个名字来访问成员变量。。

      KVO是观察一个属性的变化:在A设置观察,当A所观察的对象B有属性的值改变了,就会通知A。。这样可以用在刷新数据上,一旦数据发生改变,就会自动重新加载。eg:一个学生的成绩单有总成绩和各科成绩,一旦一科目成绩发生改变,则会自动重新计算总成绩。

5、保存文件的方法:

writeToFile   归档   userDefault    FileManager

6、第三方框架:

AFNetworking   /    ASIHTTPRequest   /    MKNetwork

7、GET方法是直接添加在网址后面的键值对;POST方法是添加在body里的,比GET安全

8、基于 珊哥代码 --> ManggoNetWork 的整理:

    思路:

          封装一个请求类-->封装网络管理类-->发送通知...

     封装请求类:

       初始化一个网址,传路径 --> 创建GET请求 --> 创建POST请求 --> 创建HTTP请求 ( 判断是GET还是POST请求 ,再选择调用 ) -->  创建开始和取消下载的方法 ( 开始下载时调用NSURLconnection的4个代理方法 ) --> NSURLconnection的四个代理方法( 失败、响应、分次接收、下载完成 )  。。

     封装网络管理类:

       创建单例类对象 --> 初始化对象,定义数组,用来存下载数据 --> 开始请求,定义方法、头域等 --> 数据解析,调用开始请求方法,传入参数,下载完成后发送通知将数据传递出去。。

  

9、通知不能跨线程。。。

//发送通知

[[NSNotificationCenter defaultCenter] postNotificationName:@"anan" object:self];

post:发送,object表示通知的发送者,self:发送者为自己

 //接收通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(noti:) name:@"anan" object:nil];

addObserver:接收方,object:表示只只接收object对象的通知,nil指接收来自任何对象发送的通知。。

 

10、类方法由类直接调用,不要创建对象;类方法里面不能用外部定义的变量,因为它没有对象。。

   静态变量只会初始化一次

 

8-25---8-27小小笔记