Xcode 5.1 下 提示 duplicate declaration of method 的解决方法

升级到Xcode5.1后遇到一个奇怪的问题: llvm5.1在编译SVProgressHUD时会报错,提示类方法与实例方法重复,即 “duplicate declaration of method” 对比了两个方法,发现两个方法中一个参数声明为CGFloat一个声明为float, 两个类型不匹配。估计被认为是尝试重载方法,修改一致后这个error就消失了。经尝试只有方

objc block是如何实现的

Objective-C中引入的Block给代码的编写以及多线程的处理带来了很多方便,但它是如何实现的呢?可以借助clang的–rewrite-objc来揭开她的面纱。

因为下面的代码会涉及一点c++ 在揭开之前先说一点c++的简单知识。
struct在c++中与class一样都是声明一个类,但struct中默认都声明为public。既然是个类str

create cgcontext

创建一个 CGContext 的方法

CG_INLINE CGContextRef CGContextCreate(CGSize size)

{

CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();

CGContextRef ctx = CGBitmapContextCreate(nil, size.width, size.height, 8, size.width * (CGColorSpaceGetNumberOfComponents(space) + 1),