<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[backapace的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/backapace</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; backapace]]></copyright><item><title><![CDATA[iOS blocks - 三個會造成retain cycle的anti patterns]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/16113941</link><guid>https://blog.youkuaiyun.com/backapace/article/details/16113941</guid><author>backapace</author><pubDate>Thu, 14 Nov 2013 10:59:03 +0800</pubDate><description><![CDATA[在iOS4.0推出了Blocks這個語言特性後
到現在iOS都已經出到5.0了
所以我想Blocks應該可以被廣泛應用了
但現在iOS環境是從MRC(Manual Reference Counting) 走到ARC (Automatic Reference Counting)
在Reference Counting的環境中Runtime是無法自動解除Retain cycle的
而Bloc]]></description><category></category></item><item><title><![CDATA[详解Objective-c Block应用]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/16113363</link><guid>https://blog.youkuaiyun.com/backapace/article/details/16113363</guid><author>backapace</author><pubDate>Thu, 14 Nov 2013 10:42:08 +0800</pubDate><description><![CDATA[详解Objective-c block应用是本文要介绍的内容，主要介绍的是Objective-c block应用，不多说，先来看详细内容。

Apple在C, Objective-C, C++加上Block這個延申用法。目前只有Mac
 10.6 和iOS 4有支援。Block是由一堆可執行的程式組成，也可以稱做沒有名字的Function (Anonymous function)。如果是Ma]]></description><category></category></item><item><title><![CDATA[iOS归档]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/15812145</link><guid>https://blog.youkuaiyun.com/backapace/article/details/15812145</guid><author>backapace</author><pubDate>Wed, 13 Nov 2013 13:47:10 +0800</pubDate><description><![CDATA[“归档”是指用某种格式来保存一个或多个对象，以便以后还原这些对象的过程。

只要在类中实现的每个属性都是标量（如int或flloat）或都是符合NSCoding协议的某个类的实例，就可以对你的对象进行完整归档。]]></description><category></category></item><item><title><![CDATA[iOS属性列表序列化]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/15505215</link><guid>https://blog.youkuaiyun.com/backapace/article/details/15505215</guid><author>backapace</author><pubDate>Tue, 12 Nov 2013 16:59:47 +0800</pubDate><description><![CDATA[可序列化的Objective-C类如下：
·     NSArray
·     NSMutableArray
·     NSDictionary
·     NSMutableDictionary
·     NSData
·     NSMutableData
·     NSString
·     NSMutableString
·     NSNumber
·]]></description><category></category></item><item><title><![CDATA[iOS浅复制与深复制]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/14448059</link><guid>https://blog.youkuaiyun.com/backapace/article/details/14448059</guid><author>backapace</author><pubDate>Thu, 07 Nov 2013 11:15:45 +0800</pubDate><description><![CDATA[浅复制与深复制的一点总结]]></description><category></category></item><item><title><![CDATA[iOS中boolean、Boolean、BOOL、bool的区别]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/14229085</link><guid>https://blog.youkuaiyun.com/backapace/article/details/14229085</guid><author>backapace</author><pubDate>Wed, 06 Nov 2013 16:40:25 +0800</pubDate><description><![CDATA[bool t1 =
1;//true or false
   
BOOL t2 = 4;//YES or NO

    Boolean t3 =
1; //unsigned char type
   
boolean_t t4 = 1;//int type

    NSAssert(t1,
@"bool t1 is NO");//通过测试

    NSAssert(]]></description><category></category></item><item><title><![CDATA[@synthesize obj=_obj的意义详解 @property和@synthesize]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/14228127</link><guid>https://blog.youkuaiyun.com/backapace/article/details/14228127</guid><author>backapace</author><pubDate>Wed, 06 Nov 2013 15:15:13 +0800</pubDate><description><![CDATA[我们在进行iOS开发时，经常会在类的声明部分看见类似于@synthesize window=_window; 的语句，那么，这个window是什么，_ window又是什么，两个东西分别怎么用，这是一个比较基本的问题，也关乎我们理解Objective-C中对类、类的属性、类的存取器、类的局部变量的统一理解。
在32位系统中，如果类的 @interface 部分没有进行 ivar 声明，但有 @p]]></description><category></category></item><item><title><![CDATA[iPhone 视图几何元素]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/14223045</link><guid>https://blog.youkuaiyun.com/backapace/article/details/14223045</guid><author>backapace</author><pubDate>Wed, 06 Nov 2013 10:16:08 +0800</pubDate><description><![CDATA[记录一下相关的视图几何元素（到iphone4/4S应该都相应的变了）：

1. 状态栏高度：20，有通话的时候40.

2. NavigationController导航栏高度44，横屏的时候32.

3. Tabbar，48，

4. toolbars，44。

5. 键盘。一般来说是320x216,横屏的时候是480x162.不过这个做不得准，可以通过回调来获取。

6]]></description><category></category></item><item><title><![CDATA[UIEdgeInsetsMake的作用]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/11489255</link><guid>https://blog.youkuaiyun.com/backapace/article/details/11489255</guid><author>backapace</author><pubDate>Mon, 09 Sep 2013 20:06:47 +0800</pubDate><description><![CDATA[UIEdgeInsets UIEdgeInsetsMake (
   CGFloat top,
   CGFloat left,
   CGFloat bottom,
   CGFloat right
);
为button或者view创建边缘， top left bottom right分别表示各边缘的宽度，可为负值。

它的经典作用就是在一个在scrollview被拖曳时根据 c]]></description><category></category></item><item><title><![CDATA[iOS简单的字串替换方法stringByTrimmingCharactersInSet]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/11017877</link><guid>https://blog.youkuaiyun.com/backapace/article/details/11017877</guid><author>backapace</author><pubDate>Tue, 03 Sep 2013 20:07:52 +0800</pubDate><description><![CDATA[此方法只能过滤掉首尾,但是条件是集合

今天听人介绍了一个比较简单的过滤方法...不多说了,直接上代码

NSString *str = @"一个 (ABC) #@!#^#G@#Dd21e12d!E@!212s012yhsn 汉0932字#@!中..文//>?输~~~@#$#@%#^#^%&^*&(*)入";
    NSMutableCharacterSet *set = [[NSMut]]></description><category></category></item><item><title><![CDATA[iOS_延时执行的几种方法]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/11015807</link><guid>https://blog.youkuaiyun.com/backapace/article/details/11015807</guid><author>backapace</author><pubDate>Tue, 03 Sep 2013 19:28:37 +0800</pubDate><description><![CDATA[1.最直接的方法performSelector:withObject:afterDelay:
这种方法的缺点：每次要为延时写一个方法

2.使用类别，用BOLCK执行

@implementation NSObject (PerformBlockAfterDelay)

- (void)performBlock:(void (^)(void))block
          afterD]]></description><category></category></item><item><title><![CDATA[scrollView的几个属性contentSize contentOffset contentInset]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/10902853</link><guid>https://blog.youkuaiyun.com/backapace/article/details/10902853</guid><author>backapace</author><pubDate>Mon, 02 Sep 2013 11:16:58 +0800</pubDate><description><![CDATA[scrollView的frame，是它的可视区，滚动的内容只能在该frame中能被看到，frame之外的都被屏蔽掉了。

contentSize是scrollview可以滚动的区域，比如frame = (0 ,0 ,320 ,40)  contentSize = (320 ,960)，代表你的scrollview可以上下滚动，滚动区域为frame大小的两倍。


contentOffse]]></description><category></category></item><item><title><![CDATA[UIScrollView的作用原理，实现scrollView传递touch事件给子视图]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/10897449</link><guid>https://blog.youkuaiyun.com/backapace/article/details/10897449</guid><author>backapace</author><pubDate>Mon, 02 Sep 2013 11:03:39 +0800</pubDate><description><![CDATA[我们知道当多个视图进行叠加的时候，touch事件是作用到最上面的视图上，但是如果父视图是UIScrollView，如果默认，可能touch子视图会造成UIScrollView的滚动。

UIScrollView滚动的原因，可以看UIScrollView 原理。

我在这里简单的描述一下，UIScrollView的工作原理，当手指touch的时候，UIScrollView会拦截Event,会]]></description><category></category></item><item><title><![CDATA[iOS开发UIScrollView控件详解]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/10895323</link><guid>https://blog.youkuaiyun.com/backapace/article/details/10895323</guid><author>backapace</author><pubDate>Mon, 02 Sep 2013 09:50:49 +0800</pubDate><description><![CDATA[首先实现UIScrollViewDelegate协议：





[plain] view
 plaincopy






#import   
  
@interface Activity01ViewController : UIViewController{  
    UIScrollView *myscrollview;  
}  
@propert]]></description><category></category></item><item><title><![CDATA[Visual C++/MFC入门教程(四) ]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/6567298</link><guid>https://blog.youkuaiyun.com/backapace/article/details/6567298</guid><author>backapace</author><pubDate>Sat, 25 Jun 2011 13:28:00 +0800</pubDate><description><![CDATA[在以后的章节4.D 利用AppWizard创建并使用ToolBar StatusBar Dialog Bar会给出使用的方法。  4.C Dialog Bar Dialog Bar类似一个静态的附在框架窗口上的对话框，由于Dialog Bar可以使用资源编辑器进行编辑所以使用起来就很方便，在设计时就可以对Dialog Bar上的子窗口进行定位。用于显示一些提示字符。MFC中使用CD]]></description><category></category></item><item><title><![CDATA[Visual C++/MFC入门教程(三)]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/6567291</link><guid>https://blog.youkuaiyun.com/backapace/article/details/6567291</guid><author>backapace</author><pubDate>Sat, 25 Jun 2011 13:25:00 +0800</pubDate><description><![CDATA[3.5 利用序列化进行文件读写 在很多应用中我们需要对数据进行保存，或是从介质上读取数据，这就涉及到文件的操作。我们可以利用各种文件存取方法完成这些工作，但MFC中也提供了一种读写文件的简单方法——“序列化”。序列化机制通过更高层次的接口功能向开发者提供了更利于使用和透明于字节流的文件操纵方法，举一个例来讲你可以将一个字串写入文件而不需要理会具体长度，读出时也是一样。你甚至可以对字符串数组]]></description><category></category></item><item><title><![CDATA[Visual C++/MFC入门教程(二) ]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/6567285</link><guid>https://blog.youkuaiyun.com/backapace/article/details/6567285</guid><author>backapace</author><pubDate>Sat, 25 Jun 2011 13:23:00 +0800</pubDate><description><![CDATA[此外系统中还拥有一些库存GUI对象，你可以利用CDC::SelectStockObject(SelectStockObject( int nIndex )选入这些对象，它们包括一些固定颜色的刷子，画笔和一些基本字体。  BLACK_BRUSH Black brush. DKGRAY_BRUSH Dark gray brush.  GRAY_BRUSH Gray brush.]]></description><category></category></item><item><title><![CDATA[Visual C++/MFC入门教程(一)]]></title><link>https://blog.youkuaiyun.com/backapace/article/details/6567271</link><guid>https://blog.youkuaiyun.com/backapace/article/details/6567271</guid><author>backapace</author><pubDate>Sat, 25 Jun 2011 13:15:00 +0800</pubDate><description><![CDATA[VC开发指南 1.1 如何学好VC 　　这个问题很多朋友都问过我，当然流汗是必须的，但同时如果按照某种思路进行有计划的学习就会起到更好的效果。万事开头难，为了帮助朋友们更快的掌握VC开发，下面我将自己的一点体会讲一下： 　　1、需要有好的C/C++基础。正所谓“磨刀不误砍柴工”，最开始接触VC时不要急于开始Windows程序开发，而是应该进行一些字符界面程序的编写。这样做的]]></description><category></category></item></channel></rss>