<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lijunhao2011的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lijunhao2011</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lijunhao2011]]></copyright><item><title><![CDATA[NSPredicate]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/53198385</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/53198385</guid><author>lijunhao2011</author><pubDate>Thu, 17 Nov 2016 12:02:34 +0800</pubDate><description><![CDATA[Cocoa提供了一个类NSPredicate类，该类主要用于指定过滤器的条件，该对象可以准确的描述所需条件，对每个对象通过谓词进行筛选，判断是否与条件相匹配。谓词表示计算真值或假值的函数。


    NSPredicate *predicate;

    predicate=[NSPredicatepredicateWithFormat:@"name=='Herbie'"];//用p]]></description><category></category></item><item><title><![CDATA[HTTP 协议详解]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52764466</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52764466</guid><author>lijunhao2011</author><pubDate>Sun, 09 Oct 2016 10:51:26 +0800</pubDate><description><![CDATA[相关文章：HTTP 协议之压缩

　　当今web程序的开发技术真是百家争鸣，ASP.NET, PHP, JSP，Perl, AJAX 等等。 无论Web技术在未来如何发展，理解Web程序之间通信的基本协议相当重要， 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解，内容较多，希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非]]></description><category></category></item><item><title><![CDATA[对iOS10新增Api的详细探究]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52598071</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52598071</guid><author>lijunhao2011</author><pubDate>Tue, 20 Sep 2016 17:24:28 +0800</pubDate><description><![CDATA[本文主要是一些对iOS新功能的探索，之前发现博客里关于iOS新功能的分析大多是过于概括，每个功能几句话，无法了解到具体的功能。所以本次的探索是基于Api层面，着重看一些具体用法所做的笔记，本来想分别画个类图来着，后来还是觉得太耗时而放弃。如果不想把苹果iOSSDK里的.h文件都摆出来详细读，那看这篇笔记应该是个不错的选择。

本文以文档的目录为基础，提到的功能模块有：

Proactive]]></description><category></category></item><item><title><![CDATA[iOS App 版本的定义]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52469533</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52469533</guid><author>lijunhao2011</author><pubDate>Thu, 08 Sep 2016 11:25:54 +0800</pubDate><description><![CDATA[最近，我们要提交 App 到 Apple 的 App Store，涉及到后续版本升级的问题，Google 了一下，大家有不少类似的困扰，见解也是五花八门。
感谢 @NoteCode 澄清概念和截图演示。

选用方案


先说一下我们选用的方案，有时间的话大家可以阅读全文，了解一下对 iOS App 各色 "版本" 的理解。

格式定义

version#（版本编号）
= ve]]></description><category></category></item><item><title><![CDATA[iOS-不用网线搭建IPv6网络测试环境]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52353674</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52353674</guid><author>lijunhao2011</author><pubDate>Mon, 29 Aug 2016 15:42:59 +0800</pubDate><description><![CDATA[前言

从6月1日开始苹果要求之后审核的项目必须支持iPv6,如果不支持将被拒绝，掘金最近一次审核被就被拒绝了....理由为下：

Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.


]]></description><category></category></item><item><title><![CDATA[圆角绘制引发的离屏渲染]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52303327</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52303327</guid><author>lijunhao2011</author><pubDate>Wed, 24 Aug 2016 19:29:23 +0800</pubDate><description><![CDATA[接《iOS的像素绘制》，上篇主要指摘录了原文章中自己觉得重要的部分。接下来，我们来真正从性能方面看看离屏渲染对性能的影响(hiahia)。
先建一个空的项目,Single View Application就好。注意在开始进行应用程序性能分析的时候，一定要使用真机，模拟器运行在mac上，mac上的CPU运行性能远高于iOS设备。硬件上mac的GPU也和iOS的完全不一样。
另外在性能分析的时候，]]></description><category></category></item><item><title><![CDATA[iOS 浅谈：深.浅拷贝与copy.strong]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/52238542</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/52238542</guid><author>lijunhao2011</author><pubDate>Thu, 18 Aug 2016 10:39:35 +0800</pubDate><description><![CDATA[深.浅拷贝


copy/mutableCopy NSString
NSString *string = @"汉斯哈哈哈";
// 没有产生新对象
NSString *copyString = [string copy];
// 产生新对象
NSMutableString *mutableCopyString = [string mutableCopy];

NSLog(@"string ]]></description><category></category></item><item><title><![CDATA[iOS中block介绍（四）揭开神秘面纱(下)]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51989007</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51989007</guid><author>lijunhao2011</author><pubDate>Thu, 21 Jul 2016 23:28:03 +0800</pubDate><description><![CDATA[终于有空开始这系列最后一篇的编写。这一篇，我们将看到block的内存管理的内部实现，通过剖析runtime库源码，我们可以更深刻的理解block的内存运作体系。

AD：51CTO 网+ 第十二期沙龙：大话数据之美_如何用数据驱动用户体验







看此篇时，请大家同时打开两个网址（或者下载它们到本地然后打开）：

http://llvm.org/svn/llvm-pr]]></description><category></category></item><item><title><![CDATA[iOS中block介绍（三）揭开神秘面纱(上)]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988999</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988999</guid><author>lijunhao2011</author><pubDate>Thu, 21 Jul 2016 23:26:55 +0800</pubDate><description><![CDATA[上一篇我们总结了各个情况下，block及其引用到的内存位置情况。接下来几篇，我们将剖析编译器转码以及运行时库源码来一探block的究竟。

AD：51CTO 网+ 第十二期沙龙：大话数据之美_如何用数据驱动用户体验







block到底是什么

我们使用clang的rewrite-objc命令来获取转码后的代码。

1、block的底层实现

我们来看看最简]]></description><category></category></item><item><title><![CDATA[iOS中Block介绍（二）内存管理与其他特性]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988989</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988989</guid><author>lijunhao2011</author><pubDate>Thu, 21 Jul 2016 23:25:32 +0800</pubDate><description><![CDATA[我们在前一章介绍了block的用法，而正确使用block必须要求正确理解block的内存管理问题。这一章，我们只陈述结果而不追寻原因，我们将在下一章深入其原因。

AD：WOT2015 互联网运维与开发者大会 热销抢票



一、block放在哪里

我们针对不同情况来讨论block的存放位置：

1.栈和堆

以下情况中的block位于堆中：
void foo()  {]]></description><category></category></item><item><title><![CDATA[iOS中Block介绍（一）基础]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988982</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51988982</guid><author>lijunhao2011</author><pubDate>Thu, 21 Jul 2016 23:24:00 +0800</pubDate><description><![CDATA[ios开发block的使用指南，以及深入理解block的内存管理，也适用于osx开发。讨论范围：block的使用，内存管理，内部实现。不包含的内容：gc arc下的block内存，block在c++中的使用。

AD：51CTO 网+ 第十二期沙龙：大话数据之美_如何用数据驱动用户体验







一、概述

Block是C级别的语法和运行时特性。Block比较类似C函数]]></description><category></category></item><item><title><![CDATA[源码笔记---MBProgressHUD]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51954419</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51954419</guid><author>lijunhao2011</author><pubDate>Tue, 19 Jul 2016 11:39:51 +0800</pubDate><description><![CDATA[前言
作为初学者,想要快速提高自己的水平,阅读一些优秀的第三方源代码是一个非常好的途径.通过看别人的代码,可以学习不一样的编程思路,了解一些没有接触过的类和方法. MBProgressHUD是一个非常受欢迎的第三方库,其用法简单,代码朴实易懂,涉及的知识点广而不深奥,是非常适合初学者阅读的一份源码.
一. 模式
首先, MBProgressHUD有以下几种视图模式.
typedef enu]]></description><category></category></item><item><title><![CDATA[iOS推送通知的证书设置]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51895454</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51895454</guid><author>lijunhao2011</author><pubDate>Wed, 13 Jul 2016 10:22:14 +0800</pubDate><description><![CDATA[APNs
如果需要给应用集成推送功能，就一定要用到苹果的推送服务。Apple推送通知服务(Apple Push Notification service =APNs),例如友盟，极光之类的推送服务都是向APNs推送消息，APNs再将消息推送给设备的。
考虑到每个人在使用APNs时所处的开发状态都是不一样的，我们假想你当前状态是：在Apple Member Center是没有创建App ID,没]]></description><category></category></item><item><title><![CDATA[整理MAC下Eclipse的常用快捷键]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51888993</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51888993</guid><author>lijunhao2011</author><pubDate>Tue, 12 Jul 2016 14:51:28 +0800</pubDate><description><![CDATA[整理Eclipse常用快捷键

开发环境切换到Mac下后原来Window下的快捷键很大一部分是不相容的，习惯了快捷键的生活忽然哪天快捷键不起作用了，跟着的就是开发效率明显降低，频繁录入错误的快捷键让Eclipse都不知道你想要什么了。

 

以下内容是我整理的经常使用的Eclipse快捷键，主要依据首个按键进行了分类。

文档末尾是收集了Mac系统下对文本编辑当标跳转或选中的快捷]]></description><category></category></item><item><title><![CDATA[iOS 后台定位审核被拒]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51850926</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51850926</guid><author>lijunhao2011</author><pubDate>Thu, 07 Jul 2016 14:21:49 +0800</pubDate><description><![CDATA[如题，这是应用第二次关于后台定位。之前是一星期前，说开启了后台定位但是没有体现后台定位的功能，没有进行免责描述。 所以，我在iTunes的版本信息添加了哪里进行后台定位的描述，在plist里面写上了免责描述。 但是，又被拒了。这次苹果发的说明如下

2.16 - Multitasking Apps may only use background services for their inten]]></description><category></category></item><item><title><![CDATA[**xcode常用快捷键大全：提高你的开发效率**]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843210</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843210</guid><author>lijunhao2011</author><pubDate>Wed, 06 Jul 2016 23:32:12 +0800</pubDate><description><![CDATA[新建项目 command+shift+n
　　新建文件 command+n
　　新建空文件 command+control+n
　　打开 command+o
　　关闭窗口 command+w
　　保存所有文件 command+option+s
　　还原到保存时状态 command+u
　　创建快照 command+control+s (保存文件快照，以后可进行对比修改情况)
　　左]]></description><category></category></item><item><title><![CDATA[图文解释XCode常用快捷键的使用]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843108</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843108</guid><author>lijunhao2011</author><pubDate>Wed, 06 Jul 2016 23:09:00 +0800</pubDate><description><![CDATA[图文解释XCode常用快捷键的使用



刚开始用Xcode是不是发现以前熟悉的开发环境的快捷键都不能用了？怎么快捷运行，停止，编辑等等、都不一样了。快速的掌握这些快捷键，能提供开发的效率。
其实快捷键在Xcode的工具栏里都标注有，只是有的符号和你的键盘上的符号对应不起来罢了。下面截图工具栏里的快捷键总结一下常用快捷键的用法。
 
一、关于运行调试
1、运行，停止，都在工具栏的P]]></description><category></category></item><item><title><![CDATA[Git 常用操作命令]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843049</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51843049</guid><author>lijunhao2011</author><pubDate>Wed, 06 Jul 2016 22:59:01 +0800</pubDate><description><![CDATA[可以创建私有项目的git网站： 

https://bitbucket.orghttp://git.oschina.net/


master : 默认开发分支； origin : 默认远程版本库 

初始化操作 
    $ git config -global user.name  #设置提交者名字 
    $ git config -global user.email  ]]></description><category></category></item><item><title><![CDATA[iOS常用宏定义]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51829609</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51829609</guid><author>lijunhao2011</author><pubDate>Tue, 05 Jul 2016 10:52:45 +0800</pubDate><description><![CDATA[#ifndef MacroDefinition_h
#define MacroDefinition_h
 
//-------------------获取设备大小-------------------------
//NavBar高度
#define NavigationBar_HEIGHT 44
 
//获取屏幕 宽度、高度
#define SCREEN_WIDTH ([UISc]]></description><category></category></item><item><title><![CDATA[宏定义的黑魔法 - 宏菜鸟起飞手册]]></title><link>https://blog.youkuaiyun.com/lijunhao2011/article/details/51829555</link><guid>https://blog.youkuaiyun.com/lijunhao2011/article/details/51829555</guid><author>lijunhao2011</author><pubDate>Tue, 05 Jul 2016 10:48:16 +0800</pubDate><description><![CDATA[转自OneV's
 Den的博客
 
宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说，为了编译优化和方便，以及跨平台能力，宏被大量使用，可以说底层开发离开define将寸步难行。而在更高层级进行开发时，我们会将更多的重心放在业务逻辑上，似乎对宏的使用和依赖并不多。但是使用宏定义的好处是不言自明的，在节省工作量的同时，代码可读性大大增加。
 
如果想成为一个能写出漂亮优雅代码]]></description><category></category></item></channel></rss>