卧槽, 大哥你是怎么找到解决方案的,
xcode13创建静态库,无products文件夹问题xcode12开始创建静态库就已经有所改变,前段时间用xcode13创建.a静态库,更是连products文件夹都没有,问题很严重,一顿操作猛如虎,最后搞定,好记性不如烂笔头...
卧槽, 大哥你是怎么找到解决方案的,
xcode13创建静态库,无products文件夹问题xcode12开始创建静态库就已经有所改变,前段时间用xcode13创建.a静态库,更是连products文件夹都没有,问题很严重,一顿操作猛如虎,最后搞定,好记性不如烂笔头...
写的很棒 今天才看到你的文章~ 赞一个
iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t-二这篇文章是之前那篇文章iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t的补充和延伸。如果没有阅读过前一篇文章...
这篇文章是之前那篇文章iOS管理对象内存的数据结构以及操作算法--SideTables、RefcountMap、weak_table_t的补充和延伸。如果没有阅读过前一篇文章...
这篇文章其实是深入内存管理:从所有权修饰符开始的补充。因为由于__autoreleasing的试验过于多,都写在上一篇文章中会使得文章篇幅结构很难看,所以在这里新建一篇文章来...
如果newOccupied大于mask的3/4,则进行扩容,Emm,,,,,仔细阅读源码以后,
mask_t cache_t::capacity()
{
return mask() ? mask()+1 : 0;
}
判断条件内的capacity方法返回的mask()当为真时,应该返回mask()+1,因当mask为0时是不会走到这里的判断,所以这里应该描述为如果newOccupied大于mask+1的3/4,会更准确点,
iOS方法缓存-cache1. cache的结构 我们之前探索过Class的结构以及其内部的成员,其中了解到了isa,superClass以及bits的作用,但是剩下的cache,我们只能基本知道,其...
文章写的很有逻辑, 只是在扩容抹除旧缓存,设置最近一次方法调用的方法缓存时,严格来说没有遵循LRU算法的核心思想,LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”,新插入的数据以及在规定时间内访问过的数据会插入到链表的头部,当链表空间满了,则会删除链表尾端的数据,所以我的理解关于cache_t的缓存策略应该是为了安全以及避免内存地址偏移提高效率,所以在扩容时删除所有的旧缓存,扩容完成后再添加最近一次方法的缓存,也是在内存空间足够的情况下添加进至缓存,个人对LRU算法的理解, 不是很标准, 见笑。
iOS方法缓存-cache1. cache的结构 我们之前探索过Class的结构以及其内部的成员,其中了解到了isa,superClass以及bits的作用,但是剩下的cache,我们只能基本知道,其...