摘要: 在objc中我们可以简单的通过反射(reflection)实现字符串到方法的映射,从而可以动态地实现方法的调用。对于实例方法 (instance method),我们有很多种方法可以方便地实现这样的效果,比如:SEL sel = NSSelectorFromString(@"method");[self performSelector:sel];或者是:SEL sel = NSSelectorFromString(@"method");objc_msgSend(self, sel);但是对于类方法(class method)的反射,objc没有直接提供类 阅读全文
posted @ 2013-06-21 14:56 Joe.xi 阅读(462) 评论(0) 推荐(0)
摘要: 我们都知道在ARC模式下,苹果提供了weak-strong dance技术来应对block调用时的retain cycle问题__weak Dancer *bSelf = self;self.block = ^(){ [bSelf abc];};但是在非ARC模式下没办法使用__weak或者__strong来修饰变量以达到效果。但是我们还有__blcok关键字,神奇的能够达到同样的效果。我们知道被__block关键字修饰的对象不会被block retain或者release,它的生命周期由外部所决定。所以可以在这里使用__block关键字对block内部需要访问的外部对象进行修饰例子:s... 阅读全文
posted @ 2013-06-04 15:09 Joe.xi 阅读(583) 评论(0) 推荐(0)
摘要: Concurrency and Application Design(2011 Apple Inc. All Rights Reserved. Last updated: 2011-01-19)In the early days of computing, the maximum amount of work per unit of time that a computer could perform was determined by the clock speed of the CPU. But as technology advanced and processor designs be 阅读全文
posted @ 2013-06-04 14:57 Joe.xi 阅读(262) 评论(1) 推荐(0)
摘要: 首先要创建你的源代码库,点击Repositories->Creat NewRepository 创建一个源代码库,这里选择关联Subversion(SVN),创建完成后选择Tracking对SVN进行关联,可以根据它的引导进行验证。-->-->-->完成后就可以通过在SVN签入时附带注释Auditors:Username 将此次提交交由对应的审核员进行审核如果嫌麻烦则可以点击新建一个项目,点击添加一条全局Commit配置,进行如下配置Trigger an audit for project 选择之前新建的项目,之后只要是加入该项目的程序按都会在SVN签入的时候收到该次签 阅读全文
posted @ 2013-05-15 14:53 Joe.xi 阅读(2272) 评论(0) 推荐(0)
摘要: iOS-SDK只提供了非线程安全的数组。如果要多线程并发的使用一个数组对象就必须要加锁,平凡的加锁使得代码的调用非常的麻烦。我们需要多线程的读写锁在类的内部实现,所以需要对NSMutableArray进行封装,封装后的对象负责接受所有事件并将其转发给真正的NSMutableArray对象,并通过合理的调度使得其支持多线程并发。1 新建一个对象来对NSMutableArray 数组进行封装,包含dispatch_queue_t调度队列对象 和一个NSObject 具体操作对象作为成员变量@interface JXMultiThreadObject : NSObject{ dispatch_... 阅读全文
posted @ 2013-05-09 16:12 Joe.xi 阅读(2198) 评论(0) 推荐(0)
摘要: 查了很多添加静态路由的方法,都是windows cmd命令下的而Mac OS下添加静态路由的方法不同首先要确保获得了管理员账号权限然后在终端中输入route add -net 192.168.0.0 -netmask 255.255.0.0 -gateway 192.168.29.254就可以在拨VPN的同时访问内网资源 阅读全文
posted @ 2012-10-09 16:41 Joe.xi 阅读(3380) 评论(0) 推荐(0)