首页 > 2024年2月 第361页
iOS Objective-C 内存管理简介

iOS Objective-C 内存管理简介

image 下面我们将对iOS中的Tagged Pointer、Nonpointer_isa、SideTables、MRC、ARC做相关介绍。 1. TaggedPointer 参考文档 对象在内存中是对齐的,它们的地址总是指针大小的整数倍,通常为16的倍数。对象指针是一个64位的整数,而为了对齐,...

Swift5 函数与闭包

Swift5 函数与闭包

闭包被引用,需要逃逸。 循环引用 方法一:[weak self] (推荐) self 是可选项,如果 self 已经被释放,则为 nil // 类似 OC 中:__weak typeof(self) weakSelf; // 如果 self 已经被释放,则为 nil loadData { [weak...

iOS weak原理源码探究

iOS weak原理源码探究

x:4gx.png 用编程计算机看二进制位 可以看到extra_rc是0000 0000,它的值是引用计数减1,所以引用计数为0+1=1 再new一个obj持有看看 NSObject *obj = [[NSObject alloc]init]; NSObject *obj1 = obj; x:4gx...

多重影分身术之算法(新浪微博剖析 iOS 高级面试)

多重影分身术之算法(新浪微博剖析 iOS 高级面试)

链接:https://juejin.cn/post/6904202336550256654 各位最近应该忙于跳槽与面试吧,毕竟金三银四,珍惜好机会,预祝大家面试顺利通过,迎接大厂offer。有需要资料可以私聊我了解 字符串反转 344. 反转字符串 链表反转 剑指 Offer 24. 反转链表 有序...

比找女朋友还难的技术点,Python 面向对象

比找女朋友还难的技术点,Python 面向对象

有人整个 Python 学习生涯都没有搞明白的技术之一:面向对象。 先放美图调整下心情。 欢迎关注,点赞,评论 Python 面向对象的编程 Python 准确地说也是一门面向对象编程的语言,简称 OOP,咱已经知道在 Python 中所有的数据类型都是对象,除了 Python 设置好的以外,Pyt...

iOS autoreleasePool原理总结

iOS autoreleasePool原理总结

AutoreleasePoolPage结构图.png 1.AutoreleasePoolPage 本质是这么一个节点对象,大小是4096字(PAGE_MAX_SIZE:4096)。 2.前7个变量都是8字节,剩下的4040字节存储着autorelease对象地址 push的调用分析 void * o...

iOS-OC底层-AutoReleasePool分析

iOS-OC底层-AutoReleasePool分析

@autoreleasepool汇编跟踪 通过Symbolic Breakpoint添加一个objc_autoreleasePoolPush符号,来跟踪一下这个函数来自哪里: Symbolic breakpoint 查看符号信息 这里可以很清楚的看到来自熟悉的libobjc.A.dylib中。 源码...

Java观察者模式

Java观察者模式

2、对象行为 3、测试代码 4、结果 回到正题。如何实现观察者模式第一步:我们需要主题,主题就是被观察者,被观察者就是不断在改变自身状态的对象,在程序当中我们经常需要根据某个对象的状态来在不同的地方做相应的操作,比如: addObsercer()、removeObserver()、notifyObs...

iOS 刷新对 NSString 字符串 的认知

iOS 刷新对 NSString 字符串 的认知

WechatIMG18065.png WeChat2af3825cde63f53ea222f96da1da3052.png 关于字符串判等和地址的问题 首先要知道,== 是对地址的比较 // 情况一 NSString * firstName = [[NSString alloc]initWithFo...

DDD实践(1)-事件风暴落地过程

DDD实践(1)-事件风暴落地过程

image.png 注意我们的表述是这样的:主语+定语,如“订单已创建”。 这里又引出DDD中的另一个重要的概念——领域事件。 领域事件(Domain Event),是领域专家关心的,在业务上真实发生的事件,这些事件对系统会产生重要的影响,如果没有这些事件的发生,整个业务逻辑和系统实现就不能成立。我...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片