IOS开发中遇到转发delegate的时候不要再那么傻了

http://sam.dods.co/blog/2014/08/03/secondary-delegate/

delegate代理(截取delegate消息用)

use:注意设置每个delegate时必须重新将_proxy设置给tableView的delegate。这样才能保证tableView重新检查delegate支持的方法。(tableView会在设置delegate时将大多数方法都检查一下是否支持,回调时不再检查)

 

C++仿GCD多线程用法

 

IOS KeyChain存储结构详解

先推荐一个链接:WHJ的一篇博文,最后一句话实际上很重要,我们下边也会提及。

苹果文档叫做:Keychain Services Reference

KeyChain可以用来储存加密的数据,或者相同TeamID应用间共享数据。并且卸载应用后不会被清除。

KeyChain的实现就相当于储存一个个的Dictionary(官方叫它SecItem),不过里边的key要按照系统规定方式设置。其中有几个重要的key(稍后会详细列出)。并且key有三个类型:标示整体类型的key(只有一个:kSecClass)、设置详细属性的key(kSecAttrGeneric、kSecAttrAccount、kSecAttrService、kSecAttrAccessGroup等)、最后一个是存储加密数据的key(kSecValueData等)

详细说这3个类型的Key:

1、标示类型的key只有一个kSecClass,并且必须设置。

Value值有5种、详细可以查看开头的链接或者苹果文档(Keychain Item Class Keys and Values节)。但通常我们只用示例里这一种。

这里的Value值不同会影响到SecItem里边存的加密内容以及可以使用的属性Key也有所不同。

2、详细属性key有很多个,并且可以使用的key根据kSecClass设置的值的不同会有不同。常用的就是:

(1)、kSecAttrGeneric(一般属性):

可以不设置,也可以设置,但不影响唯一性。

(2)、kSecAttrAccount(账号):

值是一个String,标志唯一的账号。(不设置则视为@””)。

(3)、kSecAttrService(服务):

值是一个String,标志唯一的服务。相当于与kSecAttrAccount一同看成一个联合主键,标志唯一的SecItem。存不同的内容应该使用不同的服务或账号。(不设置则视为@””)

(4)、kSecAttrAccessGroup(允许访问的Group):

如果不设置则自动使用plist里设置的第一个,通常plist里会配置成TeamID+BundleID,既是appID前缀加应用打包设置的BundleID。

关于其他的key,以及其中可以存的数据类型,可以参考苹果文档(Item Class Value Constants节),文档里有详细介绍,并且介绍了每一种kSecClass对应的可以使用的AttrKey。

3、储存数据的key,当SecClass为kSecClassGenericPassword时,我们使用以下代码:

接受NSData格式的数据,key不能随意改变。

当SecClass为其他值时,key可能会改变,对应接受的数据类型也会改变,详见苹果文档:Value Type Keys

当然你可以不储存数据也能正常保存一个SecItem。

关于UIView的layout陷阱

1、父View的width设置为负数时。父View的Bound的x会自动变成负数。 之后再将父View的宽度设置为正常值,父View的Bound仍然不会恢复正常(且在UI查看器中显示正常)。此时向此view添加子view,子view不是从父View frame的(0,0)开始,两个View是左右错位的。(父hieght和子view的Bound的y值应该也是同理)

2、IOS8系统中,向UILabel添加子View会被UILabel遮挡(当UILabel的text为空时)、若设置text内容为英文可以恢复正常。设置text含中文时仍然不正常。应避免向UILabel添加子View。

WordPress提示“在裁剪您的图像时发生了错误”的解决方法

问题:在WordPress中使用裁剪图片功能时,出现:”在裁剪您的图像时发生了错误。”或者”There has been an error cropping your image.”

原因:缺少PHP GD库。

Ubuntu下运行:

sudo apt-get install php5-gd

CentOS下运行:

yum install php-gd

安装PHP-GD库后重启httpd(Apache)服务即可使用~

Enjoy YourSelf!!!!

参考链接:http://www.chenhaodong.com/?p=9