在开发新功能的过程中有时会为了进行一些快速的测试,会在上下文中修改变量的值或者执行一些方法来配置测试环境, 一但这么做就有可能忘记移除测试代码,将其编译到最终的发由的产品中,于是为了降低风险用#if DEBUG来包装了一下测试代码, 把风险控制在开发环境。 但是这样依然有可能干扰团队其它成员的开发。如果用宏定

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。既然是个类struct就

lldb tips

Commands can have three forms: Discoverable form: expression –object-description — foo Abbreviated from  : e -O — foo Alias: po foo

Breakpoints

b MyView.m: 4 breakpoint set –file MyView.m –line 4

b “-[MyViewA drawRect:]” breakpo

Xcode 4 无法打开 Xcode 5 DP 打开过的工程文件 解决方法

试用Xcode 5 DP打开现有工程文件后再用Xcode4打开后 Xcode 4 会进入崩溃模式 折腾了几次发现下面的方法可以让工程文件恢复

如果在Xcode5-DP中打开过xib文件需要在侧栏中修改Interface Builder Document下的Open in为Xcode 4.6, 然后Clean,关掉工程,

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) +

解决Mac下java乱码的问题

java默认会用非UTF-8的字符集,会导致一些程序无法识别中文路径的问题,使用javac编译时也会出现一堆乱码的提示,可以通过修改默认的字符集还解决这个问题

在shell的启动脚本中(.profile/.zshrc等)添加下面一行即可

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8