<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[劉颛的专栏]]></title><description><![CDATA[iOS开发工程师一枚]]></description><link>https://blog.youkuaiyun.com/luthan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luthan]]></copyright><item><title><![CDATA[TCP与UDP的区别]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44701979</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44701979</guid><author>luthan</author><pubDate>Sat, 28 Mar 2015 15:40:06 +0800</pubDate><description><![CDATA[TCP(传输控制协议)：

1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机，而且计算机A接收数据包的时候，也会向计算机B回发数据包，这也会产生部分通信量)，有效流控，全双工操作(数据在两个方向上能同时传递)，多路复用服务，是面向连接，端到端的传输;

2)面向连接：正式通信前必须要与对方建立连接。事先为所发送的数据开辟出连接好的通道，然后再进行数据]]></description><category></category></item><item><title><![CDATA[iOS中ARC内部原理]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44625705</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44625705</guid><author>luthan</author><pubDate>Wed, 25 Mar 2015 19:10:48 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/meegomeego/article/details/11898495

你已经知道，ARC会自动帮你插入retain和release语句。ARC编译器有两部分，分别是前端编译器和优化器。

1. 前端编译器

前端编译器会为“拥有的”每一个对象插入相应的release语句。如果对象的所有权修饰符是__strong，那么它就是被拥有的。如]]></description><category></category></item><item><title><![CDATA[Cocoa Core Competencies 的Object creation 和IOS面试题示例:写一个NSString类的实现]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44625515</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44625515</guid><author>luthan</author><pubDate>Wed, 25 Mar 2015 18:52:30 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/dayuqi/article/details/8101099

object creation:



An object comes into runtime existence through a two-step process that allocates memory for the object and sets its st]]></description><category></category></item><item><title><![CDATA[NSOprationQueue 与 GCD 的区别与选用]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44565829</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44565829</guid><author>luthan</author><pubDate>Mon, 23 Mar 2015 16:44:44 +0800</pubDate><description><![CDATA[转自：http://www.jianshu.com/p/d09e2638eb27


GCD 技术是一个轻量的，底层实现隐藏的神奇技术，我们能够通过GCD和block轻松实现多线程编程，有时候，GCD相比其他系统提供的多线程方法更加有效，当然，有时候GCD不是最佳选择，另一个多线程编程的技术 NSOprationQueue 让我们能够将后台线程以队列方式依序执行，并提供更多操作的入口，这和]]></description><category></category></item><item><title><![CDATA[iOS程序运行流程]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44561481</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44561481</guid><author>luthan</author><pubDate>Mon, 23 Mar 2015 11:44:36 +0800</pubDate><description><![CDATA[1. 系统调用app的main函数
2. main函数调用UIApplicationMain.
3. UIApplicationMain创建sharedapplication instance, UIApplication默认的instance.
4. UIApplicationMain读取Info.plist找到主nib文件,
加载nib,把shared applicationinsta]]></description><category></category></item><item><title><![CDATA[ios内存管理机制]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44560103</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44560103</guid><author>luthan</author><pubDate>Mon, 23 Mar 2015 10:11:36 +0800</pubDate><description><![CDATA[转载自博客园:http://vinceyuan.cnblogs.com/


一 基本原理

Objective-C的内存管理机制与.Net/Java那种全自动的垃圾回收机制是不同的，它本质上还是C语言中的手动管理方式，只不过稍微加了一些自动方法。

1           Objective-C的对象生成于堆之上，生成之后，需要一个指针来指向它。

ClassA *obj1 =]]></description><category></category></item><item><title><![CDATA[objc语言的运行时处理]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44340421</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44340421</guid><author>luthan</author><pubDate>Tue, 17 Mar 2015 13:25:28 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/xwang/p/3542515.html

在Objective-C中，消息是通过objc_msgSend()这个runtime方法及相近的方法来实现的。这个方法需要一个target，selector，还有一些参数。理论上来说，编译器只是把消息分发变成objc_msgSend来执行。比如下面这两行代码是等价的。
 [array insert]]></description><category></category></item><item><title><![CDATA[Objective-C的对象模型]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44338493</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44338493</guid><author>luthan</author><pubDate>Tue, 17 Mar 2015 10:34:36 +0800</pubDate><description><![CDATA[转自：http://foredoomed.org/blog/2014/02/24/object-modeling-of-objective-c/

Objective-C是一门面向对象，并且在C的基础上加入了Smalltalk式的消息机制而形成的编程语言，它主要被苹果公司用于开发Mac OS X和iOS操作系统。既然Objective-C是面向对象的编程语言，那么我感兴趣的就是对象在内存中是怎]]></description><category></category></item><item><title><![CDATA[谈Objective-C Block的实现]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44337929</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44337929</guid><author>luthan</author><pubDate>Tue, 17 Mar 2015 10:03:34 +0800</pubDate><description><![CDATA[转自：唐巧的博客


前言


这里有关于block的5道测试题，建议你阅读本文之前先做一下测试。

先介绍一下什么是闭包。在wikipedia上，闭包的定义)是:


In programming languages, a closure is a function or reference to a function together with a referencing]]></description><category></category></item><item><title><![CDATA[iOS常用加密算法和比较]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44301813</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44301813</guid><author>luthan</author><pubDate>Mon, 16 Mar 2015 10:09:17 +0800</pubDate><description><![CDATA[对称加密算法
对称加密算法用来对敏感数据等信息进行加密，常用的算法包括：
DES（Data Encryption Standard）：数据加密标准，速度较快，适用于加密大量数据的场合。
3DES（Triple DES）：是基于DES，对一块数据用三个不同的密钥进行三次加密，强度更高。
AES（Advanced Encryption Standard）：高级加密标准，是下一代的加密算法标准，]]></description><category></category></item><item><title><![CDATA[block和函数指针]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44278267</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44278267</guid><author>luthan</author><pubDate>Sun, 15 Mar 2015 16:49:31 +0800</pubDate><description><![CDATA[block就是一个代码块，但是它的神奇之处在于在内联(inline)执行的时候(这和C++很像)还可以传递参数。同时block本身也可以被作为参数在方法和函数间传递，这就给予了block无限的可能。







block如何申明（对比于c语言中的函数申明）

（三） 和函数指针有什么区别" title="block （三） 和函数指针有什么区别" style="border]]></description><category></category></item><item><title><![CDATA[(再次理解strong与weak)强引用与弱…]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44278025</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44278025</guid><author>luthan</author><pubDate>Sun, 15 Mar 2015 16:29:52 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/liutianshx2012/article/details/41921127
__weak 和 __strong 会出现在声明中



默认情况下，一个指针都会使用 __strong属性，表明这是一个强引用。这意味着，只要引用存在，对象就不能被销毁。这是一种所期望的行为：当所有（强）引用都去除时，对象才能被收集和释放。




]]></description><category></category></item><item><title><![CDATA[NSNotification、delegate和KVO的区别]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44277753</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44277753</guid><author>luthan</author><pubDate>Sun, 15 Mar 2015 16:04:56 +0800</pubDate><description><![CDATA[1.效率肯定是delegate比nsnotification高。

2. delegate方法比notification更加直接，最典型的特征是，delegate方法往往需要关注返回值，
 也就是delegate方法的结果。比如-windowShouldClose:，需要关心返回的是yes还是no。所以delegate方法往往包含 should这个很传神的词。也就是好比你做我的delegat]]></description><category></category></item><item><title><![CDATA[iOS多线程开发之GCD]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/44259707</link><guid>https://blog.youkuaiyun.com/luthan/article/details/44259707</guid><author>luthan</author><pubDate>Sat, 14 Mar 2015 15:06:31 +0800</pubDate><description><![CDATA[Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。
dispatch queue分成以下三种：

1）运行在主线程的Main
 queue，通过dispatch_get_main_queue获取
/*!
* @function dispatch_get_main_queue
*
* @abstract
* Returns the defau]]></description><category></category></item><item><title><![CDATA[Swift 中实现单例方法]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/43057177</link><guid>https://blog.youkuaiyun.com/luthan/article/details/43057177</guid><author>luthan</author><pubDate>Fri, 23 Jan 2015 16:13:08 +0800</pubDate><description><![CDATA[转载自http://www.theswiftworld.com/2014/12/24/singletion-in-swift/

我们通常在进行开发的时候，会用到一个叫做 单例模式 的东西。相信大家也都对这种模式非常熟悉了。而且单例的使用在平时的开发中也非常频繁。 比如我们常用到的 NSUserDefaults.standardUserDefaults()。

在 Swift 中我们如何实]]></description><category></category></item><item><title><![CDATA[Swift自定义UICollectionViewCell不显示的解决方案]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/42918689</link><guid>https://blog.youkuaiyun.com/luthan/article/details/42918689</guid><author>luthan</author><pubDate>Tue, 20 Jan 2015 15:40:02 +0800</pubDate><description><![CDATA[今天遇到一个问题，用Swift自定义UICollectionViewCell，按照之前用OC的路子会出现cell不现实的问题。具体原因也不知道，可能是个Swift的bug吧，具体解决方法是用代码添加cell的子视图。而且这里注意，是在cell的contentView上添加子视图，这样就能显示出来了。
以下是我写的一个继承UICollectionViewCell的子类
import UIKit]]></description><category></category></item><item><title><![CDATA[Swift与OC，C++混合编程]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/42642513</link><guid>https://blog.youkuaiyun.com/luthan/article/details/42642513</guid><author>luthan</author><pubDate>Mon, 12 Jan 2015 14:48:24 +0800</pubDate><description><![CDATA[Swift与OC，C++混合编程]]></description><category></category></item><item><title><![CDATA[Swift与OC混合编程（二）]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/42641849</link><guid>https://blog.youkuaiyun.com/luthan/article/details/42641849</guid><author>luthan</author><pubDate>Mon, 12 Jan 2015 14:05:51 +0800</pubDate><description><![CDATA[Swift与OC混合编程（二）]]></description><category></category></item><item><title><![CDATA[Swift与OC混合编程（一）]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/42641229</link><guid>https://blog.youkuaiyun.com/luthan/article/details/42641229</guid><author>luthan</author><pubDate>Mon, 12 Jan 2015 13:20:19 +0800</pubDate><description><![CDATA[Swift与OC混合编程（一）]]></description><category></category></item><item><title><![CDATA[Arcgis for iOS开发笔记（一）]]></title><link>https://blog.youkuaiyun.com/luthan/article/details/42265543</link><guid>https://blog.youkuaiyun.com/luthan/article/details/42265543</guid><author>luthan</author><pubDate>Tue, 30 Dec 2014 14:12:47 +0800</pubDate><description><![CDATA[前段时间开发了一个小项目，其中用到了arcgis地图，之前没怎么接触过，但是项目得继续，没办法，现买现卖，期间也遇到了好多问题，在这里整理一下个人开发过程中遇到的问题，也希望能帮助一些朋友少走弯路。事先声明，由于个人能力有限，其中肯定会有错误疏漏的地方，欢迎大神批评指正。
        如果在项目想用arcgis，首先得安装AGSRuntimeSDKiOSv10.2.4.pkg，这个是在官网有]]></description><category></category></item></channel></rss>