<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[trandy的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/trandy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; trandy]]></copyright><item><title><![CDATA[iOS 9: Getting Started With SFSafariViewController]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/48498317</link><guid>https://blog.youkuaiyun.com/trandy/article/details/48498317</guid><author>trandy</author><pubDate>Wed, 16 Sep 2015 18:33:44 +0800</pubDate><description><![CDATA[转载自： http://code.tutsplus.com/tutorials/ios-9-getting-started-with-sfsafariviewcontroller--cms-24260  作者：Jordan
 Morgan

Mobile apps and viewing content on the web are ubiquitous now. For years, iO]]></description><category></category></item><item><title><![CDATA[RSA算法原理]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/47104711</link><guid>https://blog.youkuaiyun.com/trandy/article/details/47104711</guid><author>trandy</author><pubDate>Tue, 28 Jul 2015 14:16:01 +0800</pubDate><description><![CDATA[原文出处： 阮一峰  




如果你问我，哪一种算法最重要？我可能会回答“公钥加密算法”。因为它是计算机通信安全的基石，保证了加密数据不会被破解。你可以想象一下，信用卡交易被破解的后果。

进入正题之前，我先简单介绍一下，什么是”公钥加密算法”。

一、一点历史

1976年以前，所有的加密方法都是同一种模式：

（1）甲方选择某一种加密规则，对信息进行加密；

（]]></description><category></category></item><item><title><![CDATA[为什么MVC不是一种设计模式？ ---比较Backbone和Ext4.x在MVC实现上的差异]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/46516415</link><guid>https://blog.youkuaiyun.com/trandy/article/details/46516415</guid><author>trandy</author><pubDate>Tue, 16 Jun 2015 11:50:24 +0800</pubDate><description><![CDATA[为什么MVC不是一种设计模式？

 

---比较Backbone和Ext4.x在MVC实现上的差异

 

大漠穷秋

 

前言

 

圣人云：不想做妈咪的小姐不是好码农。

 

每一个码农的心中都有一个终极理想，那就是有一天不用再Coding。

 

在成为妈咪的道路上，“设计模式”被认为是一项必备的技能。

 

因此，经常有湿]]></description><category></category></item><item><title><![CDATA[iOS 推送]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/45577803</link><guid>https://blog.youkuaiyun.com/trandy/article/details/45577803</guid><author>trandy</author><pubDate>Fri, 08 May 2015 11:46:19 +0800</pubDate><description><![CDATA[转自： 
http://blog.youkuaiyun.com/showhilllee/article/details/8631734 

最近在研究ios的推送问题，遇到了一些问题，最终整理了一下。放在这里和大家分享

APNS的推送机制

首先我们看一下苹果官方给出的对ios推送机制的解释。如下图




 

Provider就是我们自己程序的后台服务器，APNS是Apple]]></description><category></category></item><item><title><![CDATA[ios获取设备信息总结]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/44925609</link><guid>https://blog.youkuaiyun.com/trandy/article/details/44925609</guid><author>trandy</author><pubDate>Tue, 07 Apr 2015 20:49:48 +0800</pubDate><description><![CDATA[1、获取设备的信息




[objc] view
 plaincopy






UIDevice *device = [[UIDevice alloc] int];  
NSString *name = device.name;       //获取设备所有者的名称  
NSString *model = device.name;      //获取设备的类别]]></description><category></category></item><item><title><![CDATA[OpenSSL 相关]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/44756361</link><guid>https://blog.youkuaiyun.com/trandy/article/details/44756361</guid><author>trandy</author><pubDate>Mon, 30 Mar 2015 20:51:47 +0800</pubDate><description><![CDATA[OpenSSL 在iOS平台上的编译，可参考：https://github.com/x2on/OpenSSL-for-iPhone
OpenSSL 添加到工程（偷懒，不编译），可参考：https://github.com/krzyzanowskim/OpenSSL
openssl 高层次封装evp : http://blog.youkuaiyun.com/gdwzh/article/category/12]]></description><category></category></item><item><title><![CDATA[boundingRectWithSize 的使用, 计算UILable高度, 包含Emoji及多属性string]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/44648731</link><guid>https://blog.youkuaiyun.com/trandy/article/details/44648731</guid><author>trandy</author><pubDate>Thu, 26 Mar 2015 13:31:03 +0800</pubDate><description><![CDATA[iOS的文字高度计算一直是个问题, 苹果也一直在改, 这几天看了一下 boundingRectWithSize 方法.

- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options context:(NSStringDrawingContext *)context NS_AVAILABL]]></description><category></category></item><item><title><![CDATA[iOS开发官方文档汇总]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/42645249</link><guid>https://blog.youkuaiyun.com/trandy/article/details/42645249</guid><author>trandy</author><pubDate>Mon, 12 Jan 2015 17:44:06 +0800</pubDate><description><![CDATA[程序员的学习过程是无止境的，程序员学习的途径是多样的。可以从视频教程中领悟，也可以从他人的代码中理解。但当我们专注于某一个平台在开发的时候，对于某个API使用或者功能实现有疑问，通常简单的测试可以让我们知道可能的效果，异或网上搜索一下别人的经验，不过最好的途径应该还是阅读官方的文档解释。常常可以更全面，具体的了解。当然也不排除有时候官方文档说了跟没说似地，或者根本说得文不对题。

半年多里一直]]></description><category></category></item><item><title><![CDATA[iOS多线程编程之NSThread的使用]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/42501403</link><guid>https://blog.youkuaiyun.com/trandy/article/details/42501403</guid><author>trandy</author><pubDate>Wed, 07 Jan 2015 21:00:04 +0800</pubDate><description><![CDATA[1、简介：
1.1 iOS有三种多线程编程的技术，分别是：

1.、NSThread 

2、Cocoa NSOperation （iOS多线程编程之NSOperation和NSOperationQueue的使用）

3、GCD  全称：Grand
 Central Dispatch（ iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用）

这三]]></description><category></category></item><item><title><![CDATA[(转)卡马克卷轴算法研究]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/39925701</link><guid>https://blog.youkuaiyun.com/trandy/article/details/39925701</guid><author>trandy</author><pubDate>Thu, 09 Oct 2014 10:01:28 +0800</pubDate><description><![CDATA[目录(?)[+]

















卡马克卷轴算法研究














 








中文摘要



对于J2ME框架下的手机游戏程序的开发，其地图滚动的重绘有多种算法，由于手机性能的限制和开发周期等其他非技术条件，需要根据情况灵活选择所需的技术。但在及其苛刻条件下，如系统]]></description><category></category></item><item><title><![CDATA[Lua性能优化技巧]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/39372167</link><guid>https://blog.youkuaiyun.com/trandy/article/details/39372167</guid><author>trandy</author><pubDate>Thu, 18 Sep 2014 14:53:07 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/gdev/archive/2012/08/22/2650316.html]]></description><category></category></item><item><title><![CDATA[png图片结构分析与加密解密原理]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/38332581</link><guid>https://blog.youkuaiyun.com/trandy/article/details/38332581</guid><author>trandy</author><pubDate>Fri, 01 Aug 2014 10:37:40 +0800</pubDate><description><![CDATA[PNG文件格式分为PNG-24和PNG-8，其最大的区别是PNG-24是用24位来保存一个像素值，是真彩色，而PNG-8是用8位索引值来在调色盘 中索引一个颜色，因为一个索引值的最大上限为2的8次方既128，故调色盘中颜色数最多为128种，所以该文件格式又被叫做PNG-8 128仿色。PNG-24因为其图片容量过大，而且在Nokia和Moto等某些机型上创建图片失败和显示不正确等异常时有发生，有时]]></description><category></category></item><item><title><![CDATA[Objective-C @encode关键字]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/19080269</link><guid>https://blog.youkuaiyun.com/trandy/article/details/19080269</guid><author>trandy</author><pubDate>Tue, 11 Feb 2014 16:07:07 +0800</pubDate><description><![CDATA[最近一段时间比较忙，抽空看了一下设计模式（主要是看两本书，《大话设计模式》和《Objective-C编程之道：iOS设计模式解析》 );

研究了一下3D数学和opengl，开始学习cocos2D，感觉时间总是很零散，很不够用，所以很久都没有写blog了。闲话少扯，言归正传。

昨天被一个同事问到，如果把一些数（int ,BOOL类型等）封装到NSNumber对象中，而这些NSNumber]]></description><category></category></item><item><title><![CDATA[NSInvocation使用示例]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/19080071</link><guid>https://blog.youkuaiyun.com/trandy/article/details/19080071</guid><author>trandy</author><pubDate>Tue, 11 Feb 2014 16:01:56 +0800</pubDate><description><![CDATA[一、概述

在 iOS中可以直接调用 某个对象的消息 方式有2种



第一种方式是使用NSObject类提供的performSelector系列方法



还有一种方式就是使用NSInvocation进行动态运行时的消息分发，动态的执行方法，相信大家一定经常使用NSObject类提供的performSelector系列方法，在这里就不再对此进行描述了，今天主要是分享一下使用N]]></description><category></category></item><item><title><![CDATA[Lua脚本在C++下的舞步（三）]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17381167</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17381167</guid><author>trandy</author><pubDate>Tue, 17 Dec 2013 18:04:27 +0800</pubDate><description><![CDATA[前两天一直忙于工作，没有时间来更新，呵呵，今天赶紧补上吧。
上一讲我把Lua基本的栈规则讲了一下，然后完善了一下我的CLuaFn类。让它可以支持任意参数数量和函数名称的传值。当然，这些功能是为了今天这篇文章而铺路的。
看了七猫的回帖，呵呵，确实应该说一下SWIG这个工具，说真的，我对这个工具理解不深，因为没有怎么用过，读过一些关于它的文章，似乎是帮你把C++的功能封装成一个Lua基本库的东西，]]></description><category></category></item><item><title><![CDATA[Lua脚本在C++下的舞步（二）]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17381143</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17381143</guid><author>trandy</author><pubDate>Tue, 17 Dec 2013 18:03:11 +0800</pubDate><description><![CDATA[上一节讲了一些基本的Lua应用，或许你会说，还是很简单么。呵呵，恩，是的，本来Lua就是为了让大家使用的方便快捷而设计的。如果设计的过为复杂，就不会有人使用了。
下面，我要强调一下，Lua的栈的一些概念，因为这个确实很重要，你会经常用到。熟练使用Lua，最重要的就是要时刻知道什么时候栈里面的数据是什么顺序，都是什么。如果你能熟练知道这些，实际你已经是Lua运用的高手了。
说真的，第一次我接触栈]]></description><category></category></item><item><title><![CDATA[Lua脚本在C++下的舞步（一）]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17381109</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17381109</guid><author>trandy</author><pubDate>Tue, 17 Dec 2013 18:01:23 +0800</pubDate><description><![CDATA[现在，越来越多的C++服务器和客户端融入了脚本的支持，尤其在网游领域，脚本语言已经渗透到了方方面面，比如你可以在你的客户端增加一个脚本，这个脚本将会帮你在界面上显示新的数据，亦或帮你完成某些任务，亦或帮你查看别的玩家或者NPC的状态。。。如此等等。

但是我觉得，其实脚本语言与C++的结合，远远比你在游戏中看到的特效要来的迅猛。它可以运用到方方面面的领域，比如你最常见的应用领域。比如，你可以用]]></description><category></category></item><item><title><![CDATA[UILabel 文字适应]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17357385</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17357385</guid><author>trandy</author><pubDate>Mon, 16 Dec 2013 18:35:13 +0800</pubDate><description><![CDATA[1. UILabel frame不变 文字大小适应frame
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;         // default is NO
@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth NS_DEPRECATED_IOS(6_0,7_0); // de]]></description><category></category></item><item><title><![CDATA[写个自己的Xcode4插件]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17279379</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17279379</guid><author>trandy</author><pubDate>Thu, 12 Dec 2013 11:02:20 +0800</pubDate><description><![CDATA[刚写iOS程序的时候就知道Xcode支持第三方插件，比如ColorSense等很实用的插件，但Xcode的插件开发没有官方的文档支持，一直觉得很神秘，那今天就来揭开它的面纱。

在Xcode启动的时候，它会检查插件目录(~/Library/Application
 Support/Developer/Shared/Xcode/Plug-ins)下所有的插件(扩展名为.xcplugin的bun]]></description><category></category></item><item><title><![CDATA[do{...}while(0)的意义和用法]]></title><link>https://blog.youkuaiyun.com/trandy/article/details/17278391</link><guid>https://blog.youkuaiyun.com/trandy/article/details/17278391</guid><author>trandy</author><pubDate>Thu, 12 Dec 2013 10:12:39 +0800</pubDate><description><![CDATA[在一些代码中，经常会遇到这样的代码：


do{
 ...
}while(0)



这样的代码一看就不是一个循环，do..while表面上在这里一点意义都没有，那么为什么要这么用呢？

实际上，do{...}while(0)的作用远大于美化你的代码。查了些资料，总结起来这样写主要有以下几点好处：

1、辅助定义复杂的宏，避免引用的时候出错：

举例来说，假设你需要定义这]]></description><category></category></item></channel></rss>