代码改变世界

iOS: ARC和非ARC下使用Block属性的问题

2015-12-24 11:49 by JG2014, 315 阅读, 0 推荐, 收藏, 编辑
摘要:1. Block的声明和线程安全Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非ARC下返回Block)。另一个需要注意的问题是关于线程安全,在声明Block属性时需要确认“在调用Blo... 阅读全文

Objective-C Autorelease Pool 的实现原理

2015-12-23 23:01 by JG2014, 250 阅读, 0 推荐, 收藏, 编辑
摘要:内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了 Objectiv... 阅读全文

class-dump 复制到/usr/bin目录不可写,Operation not permitted 解决办法

2015-12-11 10:43 by JG2014, 7729 阅读, 0 推荐, 收藏, 编辑
摘要:许多升级了OSX 10.11的朋友在配置class-dump的时候,会发现书上推荐的class-dump存放目录/usr/bin不再可写,如下所示:Operation not permitted把class-dump放到/usr/local/bin下,虽然每次执行class-dump都不需要输入全路... 阅读全文

Auto Layout 使用心得

2015-12-08 21:43 by JG2014, 335 阅读, 0 推荐, 收藏, 编辑
摘要:此系列文章代码仓库在https://github.com/johnlui/AutoLayout,有不明白的地方可以参考我的 Auto Layout 设置哦,下载到本地打开就可以了。简介Auto Layout 是苹果在 Xcode 5 (iOS 6) 中新引入的布局方式,旨在解决 3.5 寸和 4 寸... 阅读全文

iOS-关于微信支付

2015-12-07 17:08 by JG2014, 617 阅读, 1 推荐, 收藏, 编辑
摘要:突然发现的一篇文章,这位博主介绍的还是挺详细的,给大家分享一下不懂的也可以咨询我qq:5647026401、申请接入详见 微信支付申请接入 。创建应用+审核通过,你将得到:APP_ID、APP_SECRET、APP_KEY、PARTNER_ID 。那就可以开始实现支付功能的接入。2、业务流程不管是客... 阅读全文

IOS应用安全(五):高级Runtime分析和操作

2015-12-07 15:15 by JG2014, 588 阅读, 0 推荐, 收藏, 编辑
摘要:在前一篇文章,我们学习如何安装Cycript在你的苹果设备,hook进程获取其相关属性信息。这一篇文章,我们将介绍高级的runtime分析技术,在应用运行时获取或者修改指定class的信息(方法、实例变量)。找到指定类的方法在应用运行期间分析它的流程,有助于我们知道是哪个类被哪个view contr... 阅读全文

Objective-C Runtime 运行时之四:Method Swizzling

2015-12-04 22:35 by JG2014, 130 阅读, 0 推荐, 收藏, 编辑
摘要:理解Method Swizzling是学习runtime机制的一个很好的机会。在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文。Method Swizzling是改变一个selector的实际实现的技术。通过这一技术,我们可以在运行时... 阅读全文

Objective-C Runtime 运行时之五:协议与分类

2015-12-04 22:35 by JG2014, 236 阅读, 0 推荐, 收藏, 编辑
摘要:Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到。Objective-C中的协议是普遍存在的接口定义方式,即在一个类中通过@protocol定义接口,在另外类中实现接口,这种接口定义方式也成为“... 阅读全文

Objective-C Runtime 运行时之六:拾遗

2015-12-04 22:35 by JG2014, 135 阅读, 0 推荐, 收藏, 编辑
摘要:super在Objective-C中,如果我们需要在类的方法中调用父类的方法时,通常都会用到super,如下所示:@interface MyViewController: UIViewController@end@implementation MyViewController- (void)view... 阅读全文

Objective-C Runtime 运行时之三:方法与消息

2015-12-04 22:34 by JG2014, 175 阅读, 0 推荐, 收藏, 编辑
摘要:基础数据类型SELSEL又叫选择器,是表示一个方法的selector的指针,其定义如下:typedef struct objc_selector *SEL;objc_selector结构体的详细定义没有在头文件中找到。方法的selector用于表示运行时方法的名字。Objective-C在编译时,会... 阅读全文
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页