<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a861465724的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a861465724</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a861465724]]></copyright><item><title><![CDATA[iOS - UICollectionView]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164714</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164714</guid><author>a861465724</author><pubDate>Wed, 19 Apr 2017 16:12:00 +0800</pubDate><description><![CDATA[　　UICollectionView可理解为多列的UITableView，也继承自UIScrollView，可以进行滑动，可以设治左右滑动或上下滑动。collectionViewLayout让UICollectionView的布局更灵活实用，且可编辑性更高。

UICollectionViewFloeLayout （自定义成为各种布局的关键）
　　minimumLineSpaci...]]></description><category></category></item><item><title><![CDATA[iOS 协议实现传值和回调]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164705</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164705</guid><author>a861465724</author><pubDate>Wed, 12 Apr 2017 13:46:00 +0800</pubDate><description><![CDATA[在上一篇中介绍了iOS中的协议及其用法,本篇记录iOS中用协议实现反向传值和回调的用法
反向传值
使用协议代理实现传值:协议带参数[委托方通过协议中的方法(含参数的协议方法)将要传的值传到代理方]
实例讲解:上一级界面(YHGreenInterface)显示下一级界面(YHYellowInterface)的内容.下一级界面想要将自己的内容显示在上一级界面, 但是自己做不到, 需要上...]]></description><category></category></item><item><title><![CDATA[iOS 协议 protocol]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164701</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164701</guid><author>a861465724</author><pubDate>Wed, 12 Apr 2017 11:24:00 +0800</pubDate><description><![CDATA[iOS中的协议说白了就是方法的声明,只声明不需要实现,实现的部分由遵守协议方完成.
先看个协议的小例子:这个例子是先给出两个协议,再创建两类人遵守协议.
流氓协议(RogueDelegate.h)

 #import &lt;Foundation/Foundation.h&gt;
  /**流氓协议*/
  @protocol RogueDelegate &lt;NSObje...]]></description><category></category></item><item><title><![CDATA[AFNetworking的使用]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164710</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164710</guid><author>a861465724</author><pubDate>Wed, 12 Apr 2017 01:13:00 +0800</pubDate><description><![CDATA[AFN
1 AFN的框架结构
 NSURLSession: NSURLSessionManager(对NSURLSession的封装); AFHttpSessionManager(会话管理者)
 序列化处理serialization: AFURLRequestSerialization(请求); AFURLResponseSerialization(响应)
 扩展功能: AFS...]]></description><category></category></item><item><title><![CDATA[iOS  NSURLSession]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164699</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164699</guid><author>a861465724</author><pubDate>Mon, 10 Apr 2017 12:25:00 +0800</pubDate><description><![CDATA[1 NSURLSession使用须知
 NSURLSession的API是易步德
 NSURLSession的使用分成系统代理方式和自定义方式
 NSURLSession支持取消,恢复,挂起操作以及断掉续传的功能
 NSURLSession的任务类型包括dataTask(以NSData对象进行上传和下载数据),downloadTask(以文件形式下载数据),uploadTa...]]></description><category></category></item><item><title><![CDATA[iOS 手势识别器（UIGestureRecognizer）]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164694</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164694</guid><author>a861465724</author><pubDate>Mon, 26 Dec 2016 14:26:00 +0800</pubDate><description><![CDATA[UIGestureRecognizer是一个抽象类，定义了所有手势的基本行为，使用它的子类才能处理具体的手势。
UIGestureRecognizer的子类有：

UITapGestureRecognizer(敲击)
UIPinchGestureRecognizer(捏合，用于缩放)
UIPanGestureRecognizer(拖拽)
UISwipeGestureRecog...]]></description><category></category></item><item><title><![CDATA[iOS 事件传递(Touch事件)]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164708</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164708</guid><author>a861465724</author><pubDate>Mon, 26 Dec 2016 02:16:00 +0800</pubDate><description><![CDATA[先总说如下：
1、当手指触摸到屏幕时,会产生UITouch对象和UIEvent对象。
2、这两个对象产生后会被传递到UIApplication管理的一个事件队列中。
3、再有UIApplication会在事件队列中去除排在最前面的事件（有先后顺序），将事件传递到程序的（keyWindow）。
4、主窗口在视图层找到合适的视图来处理触摸事件。
5、找到合适的视图控件后就会调用控件...]]></description><category></category></item><item><title><![CDATA[iOS 私有变量 私有方法]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164692</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164692</guid><author>a861465724</author><pubDate>Wed, 28 Sep 2016 00:59:00 +0800</pubDate><description><![CDATA[实例变量既可以在@interface中定义 也可以在@implementation中定义
在@implementation中的成员变量默认是私有的成员变量 并且和利用@private修饰的不太一样
在@implementation中定义的成员变量在其他类中无法查看 也无法访问
在@implementation中定义的私有变量只能在本类中访问

如果只有方法的实现没有方法的声明...]]></description><category></category></item><item><title><![CDATA[iOS 实例变量修饰符]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164703</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164703</guid><author>a861465724</author><pubDate>Wed, 28 Sep 2016 00:37:00 +0800</pubDate><description><![CDATA[@public
可以在其他类中访问被@public修饰的成员变量
可以在本类中访问被@public修饰的成员变量
可以在子类中访问fl中被@public修饰的成员变量

@private
不可以在其他类中访问被@ private修饰的成员变量
可以在本类中访问被@ private修饰的成员变量
不可以在子类中访问被@ private修饰的成员变量
可以在其他类中访问父...]]></description><category></category></item><item><title><![CDATA[iOS self]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164698</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164698</guid><author>a861465724</author><pubDate>Tue, 27 Sep 2016 23:36:00 +0800</pubDate><description><![CDATA[如果self在对象方法中 那么self就代表调用当前对象方法的那个对象
如果self在类方法中 那么self就代表调用当前类方法的那个类

总结:self的使用只需关注self在哪个方法中 如果在类方法中那么就代表当前类 如果在对象方法中那么就代表”当前调用该方法的对象”

注意:
 self会自动区分类方法和对象方法 如果在类方法中使用self调用对象方法 就会直接报...]]></description><category></category></item><item><title><![CDATA[iOS getter setter]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164693</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164693</guid><author>a861465724</author><pubDate>Tue, 27 Sep 2016 23:09:00 +0800</pubDate><description><![CDATA[getter setter 给成员变量起名字用的

setter方法 设置成员变量值
 1. setter 方法一定是对象方法 不可能是类方法
 2.一定没有返回值
 3. 以set开头,并且set后面跟上需要设置的成员白能量的名称去掉下划线,并且首字母大写
 4. 一定有参数 参数类型一定要和成员变量的类型一直 参数名称就是成员变量名称去掉下划线

getter方...]]></description><category></category></item><item><title><![CDATA[iOS 内存管理]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164700</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164700</guid><author>a861465724</author><pubDate>Sat, 24 Sep 2016 10:19:00 +0800</pubDate><description><![CDATA[一 . 内存管理 包括内存分配 和 内存清除

1.内存管理的范围 :人和继承于NSObject类的对象都需要进行内存管理,任何非对象类型的对象(基本数据类型 如 int char float double struct enum等)

2.为什么只有OC对象才需要进行内存管理?
OC对象放在堆里面 非OC对象(基本数据类型 如 int char float double ...]]></description><category></category></item><item><title><![CDATA[iOS 对象的内存管理细节]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164686</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164686</guid><author>a861465724</author><pubDate>Sat, 24 Sep 2016 10:09:00 +0800</pubDate><description><![CDATA[通过类创建对象
1.创建对象时,开辟存储空间,通过new方法创建的对象会在 堆 内存中开辟一块存储空间
2初始化所有属性都在堆内存中完成
3.返回值真地址,指针在栈内存中,指针指向的地址是堆里创建对象时的地址
　　创建对象的时候返回的地址就是类的第0个属性的地址 但是需要注意的是 这里的第0和属性不是程序员创建的第一个属性 而是系统帮组创建的isa属性 isa属性是一个指针 占...]]></description><category></category></item><item><title><![CDATA[iOS 局部变量 全局变量 成员变量]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164691</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164691</guid><author>a861465724</author><pubDate>Fri, 23 Sep 2016 19:19:00 +0800</pubDate><description><![CDATA[一.成员变量 : 写在类声明的大括号中的变量叫成员变量 (也叫属性/实例变量)
  成员变量不可离开类 离开了类就不是成员变量
　成员变量不能再定义的同事初始化
 　成员量只能通过对象来访问
　成员变量存储在堆中(当前对象对应的堆得存储空间中) 不会被系统自动释放 只能有程序员手动释放

二.局部变量 :写在代码块或函数中的变量为局部变量
　局部变量的作用域 : ...]]></description><category></category></item><item><title><![CDATA[iOS delegate]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164689</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164689</guid><author>a861465724</author><pubDate>Tue, 07 Jun 2016 15:18:00 +0800</pubDate><description><![CDATA[　　有两个scene，分别为Scene A和Scene B。Scene A上有一个UIButton（Button A）和一个UILable（Lable A）；Scene B上有一个UITextFiled（textFiled）。当单击Scene A上的Button A时，跳转到Scene B，在Scene B的textFiled上输入文字，单击键盘的“完成”按钮，返回到Scene A，并在...]]></description><category></category></item><item><title><![CDATA[iOS block]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164688</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164688</guid><author>a861465724</author><pubDate>Tue, 07 Jun 2016 14:38:00 +0800</pubDate><description><![CDATA[一.认识block
　　Block作为C语言的扩展，并不是高新技术，和其他语言的闭包或lambda表达式是一回事。需要注意的是由于Objective-C在iOS中不支持GC机制，使用Block必须自己管理内存，而内存管理正是使用Block坑最多的地方，错误的内存管理要么导致return cycle内存泄漏要么内存被提前释放导致crash。Block的使用很像函数指针，不过与函数最大...]]></description><category></category></item><item><title><![CDATA[iOS 多线程]]></title><link>https://blog.youkuaiyun.com/a861465724/article/details/101164687</link><guid>https://blog.youkuaiyun.com/a861465724/article/details/101164687</guid><author>a861465724</author><pubDate>Wed, 16 Mar 2016 23:44:00 +0800</pubDate><description><![CDATA[一 多线程基础
　1.进程:进程就是系统中正在运行的应用程序.每个进程是相互独立的且都运行在各自受保护的运行空间内.　　
　　比如同时打开迅雷、Xcode，系统就会分别启动2个进程.
　2.线程:进程在执行任务是必须开辟线程,进程中的所有任务都在线程中进行.一个进程可以开辟一条线程,也可以开辟多条线程.
　　比如酷狗音乐这个进程在执行播放音乐这个线程的同时,还在执行下载音乐这条...]]></description><category></category></item></channel></rss>