<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csgcsg123的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csgcsg123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csgcsg123]]></copyright><item><title><![CDATA[运行时处理数组越界]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/53155931</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/53155931</guid><author>csgcsg123</author><pubDate>Mon, 14 Nov 2016 09:41:39 +0800</pubDate><description><![CDATA[http://www.cocoachina.com/ios/20161111/18046.html]]></description><category></category></item><item><title><![CDATA[AddressBookUI AddressBook Contacts简单使用]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50686623</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50686623</guid><author>csgcsg123</author><pubDate>Thu, 18 Feb 2016 16:09:41 +0800</pubDate><description><![CDATA[AddressBookUI AddressBook

http://www.jianshu.com/p/bf895054ed69    
http://my.oschina.net/u/2340880/blog/407347  



Contacts

http://my.oschina.net/u/2340880/blog/511995?p={{totalPage}}]]></description><category></category></item><item><title><![CDATA[IOS NSInvocation应用与理解]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50678720</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50678720</guid><author>csgcsg123</author><pubDate>Wed, 17 Feb 2016 10:21:26 +0800</pubDate><description><![CDATA[http://my.oschina.net/u/2340880/blog/398552]]></description><category></category></item><item><title><![CDATA[SDWebImage使用说明]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50488390</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50488390</guid><author>csgcsg123</author><pubDate>Sat, 09 Jan 2016 16:24:12 +0800</pubDate><description><![CDATA[http://www.cocoachina.com/ios/20141212/10622.html]]></description><category></category></item><item><title><![CDATA[UIImage裁剪图片指定frame]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50424231</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50424231</guid><author>csgcsg123</author><pubDate>Tue, 29 Dec 2015 10:12:36 +0800</pubDate><description><![CDATA[// 返回裁剪后的图片
+ (UIImage *)clipImage:(UIImage *)image withRect:(CGRect)rect {
    CGRect clipFrame = rect;
    CGImageRef refImage = CGImageCreateWithImageInRect(image.CGImage, clipFrame);
    UIImage *]]></description><category></category></item><item><title><![CDATA[iOS GCD  队列  线程]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50417552</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50417552</guid><author>csgcsg123</author><pubDate>Mon, 28 Dec 2015 11:16:51 +0800</pubDate><description><![CDATA[//串行方法 情况1 全为同步执行- (void)serial:(UIButton *)but{ NSLog(@"串行开始");// 2种方法获得串行队列// 一是 获取mainQueue,mainQueue是程序自带的一个serialQueue,此queue的所有task在主线程执行。缺点容易卡死主线程// dispatch_queue_t queue = dispatch_get_main_q]]></description><category></category></item><item><title><![CDATA[iOS UIView视图抖动效果]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50417411</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50417411</guid><author>csgcsg123</author><pubDate>Mon, 28 Dec 2015 10:38:14 +0800</pubDate><description><![CDATA[/**
 *  抖动效果
 *
 *  @param view 要抖动的view
 */
- (void)shakeAnimationForView:(UIView *) view {
    CALayer *viewLayer = view.layer;
    CGPoint position = viewLayer.position;
    CGPoint x = CGPointMake]]></description><category></category></item><item><title><![CDATA[URL Scheme 打开系统设置]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50217985</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50217985</guid><author>csgcsg123</author><pubDate>Tue, 08 Dec 2015 13:57:55 +0800</pubDate><description><![CDATA[程序间通信的实现描述了通过URL Scheme的方式在应用中打开其他应用，本文则是用这种方式打开内置的Settings应用。

 


Ios代码  



[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];  


 

以]]></description><category></category></item><item><title><![CDATA[PHP推送apps]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/50148217</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/50148217</guid><author>csgcsg123</author><pubDate>Wed, 02 Dec 2015 14:49:03 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/kepoon/article/details/22672133]]></description><category></category></item><item><title><![CDATA[POST  上传文件]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/49886035</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/49886035</guid><author>csgcsg123</author><pubDate>Tue, 17 Nov 2015 12:53:11 +0800</pubDate><description><![CDATA[http://bbs.yusian.com/thread-8181-1-1.html]]></description><category></category></item><item><title><![CDATA[音频视频拍照教程说明]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/49446163</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/49446163</guid><author>csgcsg123</author><pubDate>Tue, 27 Oct 2015 11:37:10 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/kenshincui/p/4186022.html#audioQueueServices]]></description><category></category></item><item><title><![CDATA[Mac openfire启动不了解决方案]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/49151805</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/49151805</guid><author>csgcsg123</author><pubDate>Thu, 15 Oct 2015 14:08:11 +0800</pubDate><description><![CDATA[Mac openfire启动不了解决方案




chang:~ chang$ sudo chmod -R 777 /usr/local/openfire/bin 

chang:~ chang$ sudo su

sh-3.2# cd /usr/local/openfire/bin

sh-3.2# export JAVA_HOME=`/usr/libexec/java_h]]></description><category></category></item><item><title><![CDATA[iOS  runtime运行时机制]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48995895</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48995895</guid><author>csgcsg123</author><pubDate>Fri, 09 Oct 2015 10:36:53 +0800</pubDate><description><![CDATA[首先，第一个问题， 
1》runtime实现的机制是什么,怎么用，一般用于干嘛？ 
runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API，基本是由C和汇编写的。
Objc
 从三种不同的层级上与 Runtime 系统进行交互，分别是通过 Objective-C 源代码，通过 Foundation 框架的NSObject类定义的方法，通过对
 r]]></description><category></category></item><item><title><![CDATA[iOS 循环引用问题]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48980931</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48980931</guid><author>csgcsg123</author><pubDate>Thu, 08 Oct 2015 22:33:15 +0800</pubDate><description><![CDATA[一、计时器NSTimer


方法一：

一方面，NSTimer经常会被作为某个类的成员变量，而NSTimer初始化时要指定self为target，容易造成循环引用。 另一方面，若timer一直处于validate的状态，则其引用计数将始终大于0。先看一段NSTimer使用的例子(ARC模式)：

1 #import 
2 @interface Friend : NSObject
3]]></description><category></category></item><item><title><![CDATA[即时聊天技术点]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48970573</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48970573</guid><author>csgcsg123</author><pubDate>Thu, 08 Oct 2015 11:40:27 +0800</pubDate><description><![CDATA[1.匹配代表图片的文字


 //通过正则表达式来匹配字符串

    NSString *regex_emoji =
@"\\[[a-zA-Z0-9\\/\\u4e00-\\u9fa5]+\\]"; 
//匹配表情   [微笑][大哭]
   
NSError *error = nil;

    NSRegularExpression *re = [NSRegularEx]]></description><category></category></item><item><title><![CDATA[iOS侧滑返回上一级界面]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48784521</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48784521</guid><author>csgcsg123</author><pubDate>Mon, 28 Sep 2015 14:47:19 +0800</pubDate><description><![CDATA[- (id)initWithRootViewController:(UIViewController *)rootViewController
{
   
self = [super
initWithRootViewController:rootViewController];
   
if (self) {

        id target =
self.interacti]]></description><category></category></item><item><title><![CDATA[iOS打包.a文件]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48782233</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48782233</guid><author>csgcsg123</author><pubDate>Mon, 28 Sep 2015 11:05:44 +0800</pubDate><description><![CDATA[全面了解 iOS 静态库开发http://www.cocoachina.com/ios/20150911/13372.html]]></description><category></category></item><item><title><![CDATA[UITableView和侧滑返回冲突问题]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48437353</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48437353</guid><author>csgcsg123</author><pubDate>Mon, 14 Sep 2015 11:52:58 +0800</pubDate><description><![CDATA[倘若在 ViewController 中添加了一个 TableView，那么很可能在侧滑返回的时候，反而先触发了 TableView 的上下滚动，这一点是非常恼人的。

通过 requireGestureRecognizerToFail() 这个方法，就可以很好的处理这个问题。







1

2

3

4

5

6

7

8

9
]]></description><category></category></item><item><title><![CDATA[UIbutton在UIScrollview中highlighted延迟]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48318145</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48318145</guid><author>csgcsg123</author><pubDate>Wed, 09 Sep 2015 16:39:02 +0800</pubDate><description><![CDATA[IOS开发之 ---- UIButton on the UIScrollView highlighted delay
 
转载▼





最近做项目遇见一个问题：UIScrollView上有许多UIButton，要实现既能点击UIButton，又能滑动UIScrollView，这个实现没有问题，不需要做额外的touch管理，UIScrollView能识别是点击的UIButton还]]></description><category></category></item><item><title><![CDATA[iOS 万能跳转界面方法 (runtime实用篇一)]]></title><link>https://blog.youkuaiyun.com/csgcsg123/article/details/48023585</link><guid>https://blog.youkuaiyun.com/csgcsg123/article/details/48023585</guid><author>csgcsg123</author><pubDate>Thu, 27 Aug 2015 10:24:56 +0800</pubDate><description><![CDATA[iOS 万能跳转界面方法 (runtime实用)

http://www.cocoachina.com/ios/20150824/13104.html




在开发项目中，会有这样变态的需求：



推送：根据服务端推送过来的数据规则，跳转到对应的控制器


feeds列表：不同类似的cell，可能跳转不同的控制器（嘘！产品经理是这样要求：我也不确定会跳转哪个界面哦，]]></description><category></category></item></channel></rss>