240 发简信
  • iOS 颜色宏

    平常用的颜色宏大概如下 考虑到蓝湖中获得的十六进制颜色值为#FF0000,cv时需要先删除#再添加0x,想省略这部分 C语言宏中'#'称之为字符串化操作符(Stringizi...

  • 120
    在北京的群租房整顿之前,我和十来个年轻男女一起生活了9个月

    1 那会儿我还在帝都上班,一天夜里挺晚了,正坐在床上看书,忽然听到大门口一阵喧闹,我推门走出去。 房东老季粗着脖子,正朝面前一个小年轻大声吼叫,我还没反应过来,老季猛地拎起小...

  • 120
    越狱 iPhone 设备导出 ipa && 重签名

    前言 以前想获取应用的 .ipa 文件可以从 iTunes 下载,macOS 上的 iTunes 升级成 12.7 后,无法再获得 .ipa 文件, 而iOS 9 后就不能...

  • 你好,objc运行时库是开源的,所以代码可在 https://opensource.apple.com/ 找到,我用的是mac版的,可以在 github上找到可运行的版本

    函数 id objc_storeWeak(id *location, id newObj)

    官方注释
    This function stores a new value into a __weak variable. It would
    be used anywhere a __weak variable is the target of an assignment.

    当然也可以从函数名揣测下... :smirk:

    你也可以用手机版本验证一下,比如

    ...
    @property (nonatomic,copy) NSString *test;
    ...

    - (void)viewDidLoad {
    [super viewDidLoad];
    self.test = @"123";
    }

    用Xcode在lldb调试时

    // 设置函数断点
    (lldb) br set --name objc_storeWeak

    // 输出如下
    Breakpoint 5: where = libobjc.A.dylib`objc_storeWeak, address = 0x0000000183454260

    然后走一下,会发现断在这个方法,当然都是汇编代码

    至于调试,可以按住 ctrl 下面控制台的调试按钮有点变化,可以更细致的按指令与线程调试
    :unamused:

    ObjC Runtime 中 Weak 属性的实现 (上)

    前言 OC 中的 weak 属性是怎么实现的,为什么在对象释放后会自动变成 nil?本文对这个问题进行了一点探讨。 环境 mac OS Sierra 10.12.4objc7...

  • 120
    浅谈iOS右滑pop功能的实现

    侧滑返回的效果 缺点: 只能实现边缘拖动,如果从视图除左边边缘以外的部分没有效果。 如果push到其他界面,如果重写的leftBarButtonItem就失效了。 如果解决上...

  • 感谢作者,帮我理清楚了原来挺模糊的概念,版本归版本库,代码放在其他地方,尝试了一下,可以,依赖外部公有库的问题,也提到了 ``若有还使用了公有的pod库,需要把公有库地址也带上`` 吹毛求疵一下,下面的代码的单引号是中文的,会报一个警告。再次感谢!

    CocoaPods 私有仓库的创建(超详细)

    本文发布于 BY Blog、简书 转载请保留链接 相关文章 《CocoaPods公有仓库的创建》 前言 最近参照了网上一大堆 CocoaPods私有仓库 的教程,按教程操作得...

  • 120
    CocoaPods 私有仓库的创建(超详细)

    本文发布于 BY Blog、简书 转载请保留链接 相关文章 《CocoaPods公有仓库的创建》 前言 最近参照了网上一大堆 CocoaPods私有仓库 的教程,按教程操作得...

  • 120
    让CocoaPods static library支持Module

    先说一点概念,心急的看官可以直接看分割线以下的部分 Module Module是一种集成库的方式,在Module出现之前,开发者需要在引入库文件的同时引入需要使用的头文件,以...

  • UIButton选中状态下的点击

    在类似点赞或切换浏览模式等功能的时候,需要用到button的选中状态:即点击后按钮切换图片,并保持这个状态,直到下一次点击.如: 接下来我们就以这两个图片为例子.已知点击前那...

  • 120
    ObjC Runtime 中 Weak 属性的实现 (中)

    导语 在上一篇中简单分析了 Weak 属性是如何被存储,获取和销毁的,其中的 SideTable 结构体当做黑盒进行处理。本文尝试对 SideTable 的结构进行一些分析。...

  • 120
    神经病院Objective-C Runtime入院第一天——isa和Class

    前言 我第一次开始重视Objective-C Runtime是从2014年11月1日,@唐巧老师在微博上发的一条微博开始。 这是sunnyxx在线下的一次分享会。会上还给了4...

  • 120
    ObjC Runtime 中 Weak 属性的实现 (上)

    前言 OC 中的 weak 属性是怎么实现的,为什么在对象释放后会自动变成 nil?本文对这个问题进行了一点探讨。 环境 mac OS Sierra 10.12.4objc7...

  • 浅析UIButton的imageEdgeInsets与titleEdgeInsets

    导语 系统的 UIButton 默认状态下的样式是图标在左标题在右,但有时候可能需要不同的排版。当然可以通过继承添加子视图来实现需求,但本文打算通过理解 UIButton 自...