<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ 仗剑走天涯]]></title><description><![CDATA[你不够成功，是因为你对自己决定要做的事情不够热爱]]></description><link>https://blog.youkuaiyun.com/awaylin113</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; awaylin113]]></copyright><item><title><![CDATA[NSAttributeString和NSMutableAttributeString]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/44657335</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/44657335</guid><author>awaylin113</author><pubDate>Thu, 26 Mar 2015 23:40:04 +0800</pubDate><description><![CDATA[UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
    self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];

   ]]></description><category></category></item><item><title><![CDATA[哈希与加密（一）]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/44180597</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/44180597</guid><author>awaylin113</author><pubDate>Tue, 10 Mar 2015 21:37:11 +0800</pubDate><description><![CDATA[声明：本文源自对哈希(Hash)与加密(Encrypt)的基本原理、区别及工程应用的学习整理
1、哈希与加密的区别
（1）哈希：将目标文本转换成具有相同长度、不可逆的杂凑字符串（或称消息摘要）；
（2）加密：将目标文本转换成具有不同长度、可逆的密文。
实际上，使用相同的hash算法，不论目标文本有多长，得到的结果长度固定；加密算法往往与目标文本的长度成正比。
2、哈希与加密的数学基础]]></description><category></category></item><item><title><![CDATA[iPhone图片拉伸的几种方法]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/44017059</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/44017059</guid><author>awaylin113</author><pubDate>Mon, 02 Mar 2015 13:05:48 +0800</pubDate><description><![CDATA[系统至ios6之后，关于图片拉伸的方法已经扩展至3个函数：

1.ios4提供的方法：
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 

这个函数是UIImage的一个实例函数，它的功能是创建一个内容可拉伸，而边角不拉伸的]]></description><category></category></item><item><title><![CDATA[使用脚本删除ios工程中未使用图片]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/44007241</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/44007241</guid><author>awaylin113</author><pubDate>Mon, 02 Mar 2015 00:27:34 +0800</pubDate><description><![CDATA[最近在读唐巧大神的《iOS开发进阶》，学到了一个大招：使用脚本删除ios中未使用的图片（纸书上有点小问题，参考github上的issue：使用脚本删除ios中未使用图片）。
      issue中得到的建议是：将代码保存在一个.sh文件中，在xcode里面执行shell脚本文件。看到这里，头瞬间大了，大学学的shell都还给linux老师了....还有xcode中怎么执行脚本啊？？？]]></description><category></category></item><item><title><![CDATA[个推使用总结]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42751521</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42751521</guid><author>awaylin113</author><pubDate>Thu, 15 Jan 2015 22:48:41 +0800</pubDate><description><![CDATA[在ios客户端集成个推并不难，按照官方文档和demo，还有几个很重要的时序图跑几遍就大概知道怎么写代码了。
    这里用根据自己的理解重述一下个推的代码流程：
    1、创建个推skd对象，skd会将clientid发送到个推服务器，并异步返回clientid。个推服务器利用clientid来唯一标识每一个设备，收到clientid之后，你可以将clientid和用户信息等上传到app服务]]></description><category></category></item><item><title><![CDATA[WWDC 2012 Session笔记——202, 228, 232 AutoLayout（自动布局）入门]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42235359</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42235359</guid><author>awaylin113</author><pubDate>Mon, 29 Dec 2014 10:56:06 +0800</pubDate><description><![CDATA[WWDC 2012 Session笔记——202, 228, 232 AutoLayout（自动布局）入门



这是博主的WWDC2012笔记系列中的一篇，完整的笔记列表可以参看这里。如果您是首次来到本站，也许您会有兴趣通过RSS，或者通过页面左侧的邮件订阅的方式订阅本站。

AutoLayout在去年的WWDC上被引入Cocoa，而在今年的WWDC上，Apple不惜花费了三个Ses]]></description><category></category></item><item><title><![CDATA[动态计算UITableViewCell高度详解]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42234921</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42234921</guid><author>awaylin113</author><pubDate>Mon, 29 Dec 2014 10:12:53 +0800</pubDate><description><![CDATA[原文地址

动态计算UITableViewCell高度详解





本站QQ技术群:93916004


不知道大家有没有发现，在iOS APP开发过程中，UITableView是我们显示内容常见的控件，本人觉得它是UIKit中最复杂的一个控件。今天要向大家介绍的就是如何动态计算UITableViewCell高度的一经验与技巧，在此做一些总结方便朋友们查阅。]]></description><category></category></item><item><title><![CDATA[SizeClass 和AutoLayout教程2]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42041693</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42041693</guid><author>awaylin113</author><pubDate>Sat, 20 Dec 2014 14:09:30 +0800</pubDate><description><![CDATA[原文链接

第二篇我带大家做个自动布局的DEMO，这次会讲一些稍微复杂点的布局。整体思路照着《iOS8 by tutorials》的第一章来，大部分直接翻译，会加入我自己的解释和理解，有兴趣的可以上Raywenderlich网站购买正版图书。
打开Xcode，新建一个single ViewController项目，打开storyboard，拖一个ImageView到我们的viewcontro]]></description><category></category></item><item><title><![CDATA[SizeClass和AutoLayout教程1]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42041381</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42041381</guid><author>awaylin113</author><pubDate>Sat, 20 Dec 2014 11:34:12 +0800</pubDate><description><![CDATA[SizeClass和AutoLayout教程1

　　讲SizeClass之前，先讲Layout,因为SizeClass 本质上就是AutoLayout的升级版。

　　AutoLayout到底是什么？其实就是个约束布局，有点像Android的relativelayout,想想用代码写个UILabel怎么写？
UILabel *label = [[UILabel alloc] initW]]></description><category></category></item><item><title><![CDATA[NSNumber对象缓存以及Tagged Pointer]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42040873</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42040873</guid><author>awaylin113</author><pubDate>Sat, 20 Dec 2014 10:00:41 +0800</pubDate><description><![CDATA[NSNumber对象缓存以及Tagged Pointer

MAR 21ST, 2014


这是一次和 @onevcat 的技术讨论总结。技术点比较散，但是还都比较有意思。涉及的技术细节包括：


系统对象的缓存
Tagged
 Pointer对象

autorelase对象

按照苹果的编程约定，由非alloc,copy返回的对象都是autorelease的，所以对]]></description><category></category></item><item><title><![CDATA[Quartz 2D之贝塞尔曲线和二次曲线]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/42011075</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/42011075</guid><author>awaylin113</author><pubDate>Thu, 18 Dec 2014 20:55:50 +0800</pubDate><description><![CDATA[点击打开链接


Quartz 2D提供了CGContextAddCurveToPoint()和CGContextAddQuadCurveToPoint()两个函数向CGContextRef的当前路径上添加曲线，前者用于添加贝塞尔曲线，后者用于添加二次曲线。

绘制贝塞尔曲线的示意图如图12.10所示。从图12.10可以看出，确定一条贝塞尔曲线需要4个点：开始点、第一个控制点、第二个控制]]></description><category></category></item><item><title><![CDATA[使用FMDB事务批量更新数据库]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/40860373</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/40860373</guid><author>awaylin113</author><pubDate>Thu, 06 Nov 2014 14:21:08 +0800</pubDate><description><![CDATA[今天比较闲看到大家在群里讨论关于数据库操作的问题，其中谈到了“事务”这个词，坦白讲虽然作为计算机专业的学生，在上学的时候确实知道存储过程、触发器、事务等等这些名词的概念，但是由于毕业后从事的不是服务器方面的工作，对数据库方面的知识一直停留在理论阶段，在iOS中有两种比较常用的数据库，一种是sqlite，另外一种是coreData，这二者的优缺点在这里不再赘述，如有感兴趣的同学可以查阅相关资料]]></description><category></category></item><item><title><![CDATA[iOS中block实现的探究]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/40154363</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/40154363</guid><author>awaylin113</author><pubDate>Thu, 16 Oct 2014 19:59:44 +0800</pubDate><description><![CDATA[[0. Brief introduction of block]

Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C语言的扩展，用来实现匿名函数的特性。

用维基百科的话来说，Block是Apple Inc.为C、C++以及Objective-C添加的特性，使得这些语言可以用类lambda表达式的语法来创建闭包。

用Apple文档的话来说，A block is ]]></description><category></category></item><item><title><![CDATA[UISearchDisplayController详解]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39609399</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39609399</guid><author>awaylin113</author><pubDate>Sat, 27 Sep 2014 10:06:15 +0800</pubDate><description><![CDATA[在之前做过的应用中，很多都有“搜索”这个功能，大部分情况下我都是只采用UISearchBar并结合UItableView来展示搜索结果，其
 实IOS SDK中已经有自带的控件能帮助我们做好这些事，这就是UISearchDisplayController，当然这个控件也有一些不足之处，下面我就一 一道来。。

首先我先讲下UISearchDisplayController的实现原理：

]]></description><category></category></item><item><title><![CDATA[NSCalendar日历使用详解]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39557969</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39557969</guid><author>awaylin113</author><pubDate>Thu, 25 Sep 2014 20:53:49 +0800</pubDate><description><![CDATA[1. 创建或初始化可用以下方法

    + (id)currentCalendar;

    取得当前用户的逻辑日历(logical calendar)

 

    + (id)autoupdatingCurrentCalendar;

    取得当前用户的逻辑日历(logical calendar), ......

 

    - (id)initWit]]></description><category></category></item><item><title><![CDATA[关于日期和日历的使用简介]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39557841</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39557841</guid><author>awaylin113</author><pubDate>Thu, 25 Sep 2014 20:26:10 +0800</pubDate><description><![CDATA[一．NSDate的计算问题   

   NSTimeInterval 是一个以秒为单位的时间片。 

1.可以用initWithTimeIntervalSinceNow方法传入一个NSTimeInterval对象，创建一个NSDate对象。 

  NSDate * tomorrow =[[NSDate alloc]initWithTimeIntervalSinceNow:24*60]]></description><category></category></item><item><title><![CDATA[从xcode 6 上传至 App Store]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39395165</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39395165</guid><author>awaylin113</author><pubDate>Fri, 19 Sep 2014 11:33:11 +0800</pubDate><description><![CDATA[2014年苹果大会结束，ios8发布，可怜的苹果开发者又要开始伤脑筋了。比如提交新产品的那个iTunes connect体验就做得极烂，而且这还是本菜鸟的第一次上线提交，折寿啊
一、第一步的上传截图就把我为难死了，各种不同的设备尺寸，各种上传出错
        说一下各个inch下的图片规格要求：  （以下讲的都是竖屏、包括状态栏的）      




3.5inch（必须）]]></description><category></category></item><item><title><![CDATA[安装和使用cocoaPods]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39347893</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39347893</guid><author>awaylin113</author><pubDate>Wed, 17 Sep 2014 22:23:44 +0800</pubDate><description><![CDATA[一、cocoapods是什么？
在ios开发中，我们一定会经常使用到各种各样的第三方开源库，可能你使用的开源库A会依赖到另外一个开源库B，B又依赖C......如此下去，所需的类库就特别多。而且，万一A更新了，B也更新了，C又更新了.....这么悲情的事，我就不继续往下说了。这个时候，你要是用了cocoapods，只需要一行命令，它就会帮你搞定这些无聊的事情。
cocoapods是一个iOS的]]></description><category></category></item><item><title><![CDATA[使用GCD]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39034445</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39034445</guid><author>awaylin113</author><pubDate>Wed, 03 Sep 2014 23:34:22 +0800</pubDate><description><![CDATA[又是一篇唐巧大神写的文章，猛戳原文地址：]]></description><category></category></item><item><title><![CDATA[APP IOS6 适配iOS7开发技巧]]></title><link>https://blog.youkuaiyun.com/awaylin113/article/details/39032759</link><guid>https://blog.youkuaiyun.com/awaylin113/article/details/39032759</guid><author>awaylin113</author><pubDate>Wed, 03 Sep 2014 20:53:25 +0800</pubDate><description><![CDATA[今天又发现了一个很不错的ios]]></description><category></category></item></channel></rss>