<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[追梦]]></title><description><![CDATA[一步一个脚印往前走]]></description><link>https://blog.youkuaiyun.com/youcanping2008</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; youcanping2008]]></copyright><item><title><![CDATA[ios键盘通知和自定义键盘]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9844975</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9844975</guid><author>youcanping2008</author><pubDate>Fri, 09 Aug 2013 00:36:26 +0800</pubDate><description><![CDATA[一.键盘通知

当文本View(如UITextField,UITextView, UIWebView内的输入框)进入编辑模式成为first
 responder时，系统会自动显示键盘。成为firstresponder可能由用户点击触发，也可向文本View发送becomeFirstResponder消息触发。当文本视图退出first
 responder时，键盘会消失。文本View退出fir]]></description><category></category></item><item><title><![CDATA[生成Cordova静态库]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9785741</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9785741</guid><author>youcanping2008</author><pubDate>Tue, 06 Aug 2013 09:11:32 +0800</pubDate><description><![CDATA[1.找到cordova-ios>cordovaLib，打开该工程
2.设置skip install为No


3.选择ios Device进行编译，这事可以看到products下的静态库位黑色了


4.生成发布静态库

5.在工程中引入静态库，添加头文件]]></description><category></category></item><item><title><![CDATA[iOS单例的创建方式]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9275709</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9275709</guid><author>youcanping2008</author><pubDate>Mon, 08 Jul 2013 21:18:15 +0800</pubDate><description><![CDATA[最近在iOS开发中，需要用到单例模式，于是自己动手写了一个，它看起来是这样的：



+ (id)sharedInstance
{
    static id sharedInstance = nil;
    
    if (!sharedInstance) {
        sharedInstance = [[NSObject alloc] init];
    }
    
 ]]></description><category></category></item><item><title><![CDATA[IOS面试题]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9244905</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9244905</guid><author>youcanping2008</author><pubDate>Thu, 04 Jul 2013 16:57:30 +0800</pubDate><description><![CDATA[【1】浅复制和深复制的区别？浅拷贝和深拷贝
答案：
(1)浅层复制（copy）：只复制指向对象的指针，而不复制引用对象本身。通过对象的指针来访问这个对象
(2)深层复制（mutableCopy）：复制引用对象本身
意思就是有个A对象，复制一份后得到A_copy对象后，对于浅复制来说，A和A_copy指向的是同一个内存资源，复制的只不过是一个指针，对象本身资源还是只有一份，那如果我们对A_c]]></description><category></category></item><item><title><![CDATA[iOS上线流程]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9242005</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9242005</guid><author>youcanping2008</author><pubDate>Thu, 04 Jul 2013 13:15:00 +0800</pubDate><description><![CDATA[iOS上线流程]]></description><category></category></item><item><title><![CDATA[使用NSURLProtocol实现UIWebView的离线缓存]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9240487</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9240487</guid><author>youcanping2008</author><pubDate>Thu, 04 Jul 2013 10:29:11 +0800</pubDate><description><![CDATA[搜索解决方案的时候找到了Rob Napier 的博文：Drop-in offline caching for UIWebView (and NSURLProtocol) 文章介绍了使用NSURLProtocol实现UIWebView的离线缓存的简单实现，你可以在github上下载这个demo的代码。
rob认为无论是“MKNetworkKit”还是”AFCache”实现的缓存都过于复杂，而他想要]]></description><category></category></item><item><title><![CDATA[iOS--CALayer的使用]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9237423</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9237423</guid><author>youcanping2008</author><pubDate>Wed, 03 Jul 2013 20:34:37 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/zyc851224/article/details/8066450]]></description><category></category></item><item><title><![CDATA[iOS创建线程的三种方式]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9236895</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9236895</guid><author>youcanping2008</author><pubDate>Wed, 03 Jul 2013 19:02:20 +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[GCD之dispatch queue]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9234245</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9234245</guid><author>youcanping2008</author><pubDate>Wed, 03 Jul 2013 15:24:41 +0800</pubDate><description><![CDATA[iOS中多线程编程工具主要有：

 NSThreadNSOperationGCD
这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程编程的利器(ipad2已经是双核了,这无疑是一个趋势).
http://www.cnblogs.com/scorpiozj/archive/2]]></description><category></category></item><item><title><![CDATA[iOS绘图-1]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9234191</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9234191</guid><author>youcanping2008</author><pubDate>Wed, 03 Jul 2013 15:21:29 +0800</pubDate><description><![CDATA[写一个MyLabel类继承UILabel,重载- (void)drawRect:(CGRect)rect; 方法，给label中间加一条线
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    [super drawRect:rect];
    // 获得绘图的上下文对象
    CGContextRef rf = UIGraphics]]></description><category></category></item><item><title><![CDATA[演示如何给导航控制加动画特效]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9219765</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9219765</guid><author>youcanping2008</author><pubDate>Mon, 01 Jul 2013 21:07:40 +0800</pubDate><description><![CDATA[需要引入的库：#import 
有2个导航控制器第一个是RootViewControler,第二个是SecondViewController

在第一个页面添加一个按钮，按钮的点击事件就是使用导航控制器push到第二个页面
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.title = @"演示给导航控制器加动画效果";]]></description><category></category></item><item><title><![CDATA[十六进制颜色转UIColor]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9207431</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9207431</guid><author>youcanping2008</author><pubDate>Sun, 30 Jun 2013 14:51:09 +0800</pubDate><description><![CDATA[很多地方我们都使用16进制颜色，但iPhone使用的是UIColor对象，不直接支持16进制颜色，为此，需要我们手动将16进制颜色转换为UIColor。
- (UIColor *)getColor:(NSString*)hexColor
{
unsigned int red,green,blue;
NSRange range;
range.length = 2;

 
range.]]></description><category></category></item><item><title><![CDATA[ios正则表达式的使用]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9207057</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9207057</guid><author>youcanping2008</author><pubDate>Sun, 30 Jun 2013 12:54:23 +0800</pubDate><description><![CDATA[学习正则表达式教程地址  
http://deerchao.net/tutorials/regex/regex.htm


1.去RegexKitLite下载类库，解压出来会有一个例子包及2个文件，其实用到的就这2个文件，添加到工程中。 备用地址：
http://www.cocoachina.com/bbs/job.php?action-download-pid-135286-tid-1]]></description><category></category></item><item><title><![CDATA[Object-c2.0内存管理]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9203763</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9203763</guid><author>youcanping2008</author><pubDate>Sat, 29 Jun 2013 17:32:10 +0800</pubDate><description><![CDATA[详解Objective-C 2.0 关于Objective-C内存管理规则是本文要介绍的内容，不多说，先来看内容。Objective-C 2.0增加了一些新的东西，包括属性和垃圾回收。那么，我们在学习Objective-C2.0之前，最好应该先了解，从前是什么样的，为什么Objective-C 2.0要增加这些支持。
这一切都跟Cocoa内存的管理规则有关系，我们知道，Objective-C中所]]></description><category></category></item><item><title><![CDATA[IOS atomic与nonatomic，assign,copy与retain的定义和区别]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9203091</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9203091</guid><author>youcanping2008</author><pubDate>Sat, 29 Jun 2013 15:36:08 +0800</pubDate><description><![CDATA[atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。

 
       atomic

                设置成员变量的@property属性时，默认为atomic，提供多线程安全。
 
               在多线程环境下，原子操作是必要的，否则有可能引起错误的结果。加了atomic，setter函数会变成下面这样：]]></description><category></category></item><item><title><![CDATA[什么是内联函数？]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9203021</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9203021</guid><author>youcanping2008</author><pubDate>Sat, 29 Jun 2013 15:24:54 +0800</pubDate><description><![CDATA[（1）什么是内联函数？
内联函数是指那些定义在类体内的成员函数，即该函数的函数体放在类体内。

（2）为什么要引入内联函数？
当然，引入内联函数的主要目的是：解决程序中函数调用的效率问题。另外，前面我们讲到了宏，里面有这么一个例子：
#define ABS(x) ((x)>0? (x):-(x))
当++i出现时，宏就会歪曲我们的意思，换句话说就是：宏的定义很容易产生二意性。]]></description><category></category></item><item><title><![CDATA[如何再tableView实现iToast效果？]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9202541</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9202541</guid><author>youcanping2008</author><pubDate>Sat, 29 Jun 2013 14:01:46 +0800</pubDate><description><![CDATA[在表格滚动的时候会出弹出一个当前组的名字
效果如下：

实现步骤：
1.创建一个label用于显示组名
     CGPoint center = myTableView.center;
    displayLabel = [[UILabel alloc] initWithFrame:CGRectMake(center.x-40, center.y-40, 80, 80)];]]></description><category></category></item><item><title><![CDATA[iOS如何实现表格的折叠效果？]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9202167</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9202167</guid><author>youcanping2008</author><pubDate>Sat, 29 Jun 2013 12:21:08 +0800</pubDate><description><![CDATA[一、实现原理：就是在点击表格组头视图的时候，如果该表格视图的组展开了，就把改组的行设置为0，如果该组隐藏了，就显示该组的所有行。
效果如下：


二、实现步骤
1、定义一个数据模型用于封装数据

#import 

@interface MyData : NSObject
{
    NSMutableArray *_array;// 每组的数据
    BOOL _isShow;/]]></description><category></category></item><item><title><![CDATA[NSTimer类别]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9164781</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9164781</guid><author>youcanping2008</author><pubDate>Mon, 24 Jun 2013 19:51:38 +0800</pubDate><description><![CDATA[头文件声明
@interface NSTimer (TFAddition)


-(void)pauseTimer;
-(void)resumeTimer;

@end

实现类
@implementation NSTimer (TFAddition)


-(void)pauseTimer{
    
    if (![self isValid]) {
        return ;]]></description><category></category></item><item><title><![CDATA[给图片加载加上菊花]]></title><link>https://blog.youkuaiyun.com/youcanping2008/article/details/9162329</link><guid>https://blog.youkuaiyun.com/youcanping2008/article/details/9162329</guid><author>youcanping2008</author><pubDate>Mon, 24 Jun 2013 14:53:20 +0800</pubDate><description><![CDATA[if (self.imageURL)
    {
        __block UIActivityIndicatorView *activityIndicator;        
        [self.imageView setImageWithURL:self.imageURL placeholderImage:nil options:SDWebImageProgressiveDow]]></description><category></category></item></channel></rss>