<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BobooO的专栏]]></title><description><![CDATA[敢于选择 敢于坚持 拾起理想的碎片 奋勇前进]]></description><link>https://blog.youkuaiyun.com/lboboby</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lboboby]]></copyright><item><title><![CDATA[iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/47212725</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/47212725</guid><author>lboboby</author><pubDate>Sun, 02 Aug 2015 22:04:24 +0800</pubDate><description><![CDATA[介绍：

Grand Central Dispatch 简称（GCD）是苹果公司开发的技术，以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ，iOS 4及以上也可用。
设计：

GCD的工作原理是：让程序平行排队的特定任务，根据可用的处理资源，安排他们在任何可用的处理器核心上执行任务。
]]></description><category></category></item><item><title><![CDATA[iOS多线程编程之NSOperation和NSOperationQueue的使用]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/47212607</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/47212607</guid><author>lboboby</author><pubDate>Sun, 02 Aug 2015 22:01:50 +0800</pubDate><description><![CDATA[前一篇 

《iOS多线程编程之NSThread的使用》
介绍三种多线程编程和NSThread的使用，这篇介绍NSOperation的使用。


使用 NSOperation的方式有两种，
一种是用定义好的两个子类：

NSInvocationOperation 和 NSBlockOperation。
另一种是继承NSOperation

如果你也熟悉Java，NSOper]]></description><category></category></item><item><title><![CDATA[iOS多线程编程之NSThread的使用]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/47212501</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/47212501</guid><author>lboboby</author><pubDate>Sun, 02 Aug 2015 22:00:43 +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[Swif语法基础 要点归纳（一）]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46913427</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46913427</guid><author>lboboby</author><pubDate>Thu, 16 Jul 2015 16:07:40 +0800</pubDate><description><![CDATA[Swif语法基础 要点归纳]]></description><category></category></item><item><title><![CDATA[升级Xcode之后VVDocumenter-Xcode不能用的解决办法]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46546105</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46546105</guid><author>lboboby</author><pubDate>Thu, 18 Jun 2015 11:51:07 +0800</pubDate><description><![CDATA[VVDocumenter-Xcode是Xcode上一款快速添加标准注释，并可以自动生成文档的插件。有了VVDocumenter-Xcode，规范化的注释，只需要输入三个斜线“///”就可以搞定，非常方面实用，目前已经支持Swift。]]></description><category></category></item><item><title><![CDATA[在storyboard中的静态UITableView中拖入 UISearchBar and Search Display Controller出现的奇怪问题]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46443429</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46443429</guid><author>lboboby</author><pubDate>Wed, 10 Jun 2015 16:27:21 +0800</pubDate><description><![CDATA[最近学习过程中想模拟一下新浪微博“发现”界面。
     我在storyboard中拖入一个UITableViewController，设置这个UITableViewController的TableView为Static Cells，然后添加了两个Section，每个Section两行Cell。
     接下来往这个TableView中拖入了一个UISearchBar and Search ]]></description><category></category></item><item><title><![CDATA[UINavigationController]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46418201</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46418201</guid><author>lboboby</author><pubDate>Mon, 08 Jun 2015 21:40:24 +0800</pubDate><description><![CDATA[UINavigationController
导航控制器
Navigation Controller Views
导航控制器的视图
Updating the Navigation Bar
更新导航条
Displaying a Navigation Toolbar
显示导航工具条
State Preservation
状态保存]]></description><category></category></item><item><title><![CDATA[Search Bars（一）]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46414695</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46414695</guid><author>lboboby</author><pubDate>Mon, 08 Jun 2015 16:40:25 +0800</pubDate><description><![CDATA[A search bar provides an interface for text-based searches with a text box and buttons such as search and cancel. A search bar
 accepts text from users, which can be used as input for a search (shown]]></description><category></category></item><item><title><![CDATA[Notification Centers 通知中心]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/46335899</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/46335899</guid><author>lboboby</author><pubDate>Tue, 02 Jun 2015 21:59:41 +0800</pubDate><description><![CDATA[Notification Centers
通知中心



A notification center manages the sending and receiving of notifications. It notifies all observers of notifications meeting specific criteria. The notification infor]]></description><category></category></item><item><title><![CDATA[iOS中block介绍（四）揭开神秘面纱(下)]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/45071493</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/45071493</guid><author>lboboby</author><pubDate>Thu, 16 Apr 2015 10:16:28 +0800</pubDate><description><![CDATA[终于有空开始这系列最后一篇的编写。这一篇，我们将看到block的内存管理的内部实现，通过剖析runtime库源码，我们可以更深刻的理解block的内存运作体系。

AD：WOT2015 互联网运维与开发者大会 热销抢票








看此篇时，请大家同时打开两个网址（或者下载它们到本地然后打开）：

http://llvm.org/svn/llvm-project/co]]></description><category></category></item><item><title><![CDATA[iOS中block介绍（三）揭开神秘面纱(上)]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/45071417</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/45071417</guid><author>lboboby</author><pubDate>Thu, 16 Apr 2015 10:15:03 +0800</pubDate><description><![CDATA[上一篇我们总结了各个情况下，block及其引用到的内存位置情况。接下来几篇，我们将剖析编译器转码以及运行时库源码来一探block的究竟。








block到底是什么

我们使用clang的rewrite-objc命令来获取转码后的代码。

1、block的底层实现

我们来看看最简单的一个block：





这个block仅仅打印栈变量i和j]]></description><category></category></item><item><title><![CDATA[iOS中Block介绍（二）内存管理与其他特性]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/45071387</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/45071387</guid><author>lboboby</author><pubDate>Thu, 16 Apr 2015 10:11:11 +0800</pubDate><description><![CDATA[我们在前一章介绍了block的用法，而正确使用block必须要求正确理解block的内存管理问题。这一章，我们只陈述结果而不追寻原因，我们将在下一章深入其原因。

AD：WOT2015 互联网运维与开发者大会 热销抢票








一、block放在哪里

我们针对不同情况来讨论block的存放位置：

1.栈和堆

以下情况中的block位于堆中：]]></description><category></category></item><item><title><![CDATA[iOS中Block介绍（一）基础]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/45071303</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/45071303</guid><author>lboboby</author><pubDate>Thu, 16 Apr 2015 10:09:03 +0800</pubDate><description><![CDATA[ios开发block的使用指南，以及深入理解block的内存管理，也适用于osx开发。讨论范围：block的使用，内存管理，内部实现。不包含的内容：gc arc下的block内存，block在c++中的使用。

AD：WOT2015 互联网运维与开发者大会 热销抢票       







一、概述

Block是C级别的语法和运行时特性。Block比较类似C函数，但是]]></description><category></category></item><item><title><![CDATA[进程与线程]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/45023939</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/45023939</guid><author>lboboby</author><pubDate>Mon, 13 Apr 2015 12:00:55 +0800</pubDate><description><![CDATA[主线程里面执行耗时操作会导致界面阻塞，所以一般把耗时操作放到子线程执行，例如网络请求、线程睡眠、加载文件、大量运算。
1、不要把耗时操作放到主线程。
2、不要把修改页面的代码放到子线程（子线程修改页面不会等到及时更新）


第一种开启子线程的方法
NSThread
     //开启一个子线程
     [NSThread detachNewThreadSelector:@sele]]></description><category></category></item><item><title><![CDATA[地图框架]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44886209</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44886209</guid><author>lboboby</author><pubDate>Sun, 05 Apr 2015 10:43:50 +0800</pubDate><description><![CDATA[使用苹果自带的地图框架，需要在项目中加载MapKit.framework（项目—TARGETS--Build Phases--Link Binary With Libraries），并在头文件中导入
#import



一、MKMapView的常用属性和方法
NSArray *annotations;//保存地图中的大头针
MKCoordinateRegion
region; /]]></description><category></category></item><item><title><![CDATA[strong与weak]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44886177</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44886177</guid><author>lboboby</author><pubDate>Sun, 05 Apr 2015 10:41:33 +0800</pubDate><description><![CDATA[如果把一个属性声明为weak
编译器做了一件事，只是给成员变量赋值，而没有对引用计数进行处理
set方法：
-(void)setName:(NSString *)name


{
　　if (_name != name)
　　{
         _name = name;
       }
}


如果把一个属性声明为strong
实际上编译器做了两件事，1、处理了]]></description><category></category></item><item><title><![CDATA[CoreData 简单使用]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44802547</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44802547</guid><author>lboboby</author><pubDate>Wed, 01 Apr 2015 09:37:57 +0800</pubDate><description><![CDATA[CoreData的常用方法]]></description><category></category></item><item><title><![CDATA[归档和解归档]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44655873</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44655873</guid><author>lboboby</author><pubDate>Thu, 26 Mar 2015 20:59:41 +0800</pubDate><description><![CDATA[归档和解归档除了用于NSString、NSNumber、NSArray、NSDictionary等对象和NSData之间的转换（见NSData和NSMutableData），还可以用来保存别的对象，如保存界面上的view对象。
对象归档必须做两件事情：
1.对象必须遵守NSCoding协议
2.在对象中实现该协议的两个方法
// 
属性编码
- (void)encodeWithCode]]></description><category></category></item><item><title><![CDATA[NSData和NSMutableData]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44196469</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44196469</guid><author>lboboby</author><pubDate>Wed, 11 Mar 2015 11:31:40 +0800</pubDate><description><![CDATA[NSData和NSMutableData存储的是二进制数据，在文件操作，网络，以及核心图形图像中使用较广泛。NSData创建后不可以再修改，NSMutableData可以再次修改。


1、NSString和NSData之间的转换
    
NSString *string = 
@“哎我去上市了！";
    
//1、字符串转换成NSData
    
NSData *da]]></description><category></category></item><item><title><![CDATA[iOS沙盒（sandbox）机制及获取沙盒路径]]></title><link>https://blog.youkuaiyun.com/lboboby/article/details/44176241</link><guid>https://blog.youkuaiyun.com/lboboby/article/details/44176241</guid><author>lboboby</author><pubDate>Tue, 10 Mar 2015 15:47:48 +0800</pubDate><description><![CDATA[一、什么是sandbox
     每个iOS应用都被限制在“沙盒”中，“沙盒”相当于一个加了仅主人可见权限的文件夹，苹果对沙盒主要有以下限制。
     1、应用程序可以在自己的沙盒里运作，但是不能访问任何其他应用程序的沙
     2、应用程序间不能共享数据，沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。
     3、苹果禁止任何读、写]]></description><category></category></item></channel></rss>