糸师凛
码龄3年
求更新 关注
提问 私信
  • 博客:99,917
    99,917
    总访问量
  • 78
    原创
  • 557
    粉丝
  • 29
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:美国
加入CSDN时间: 2022-08-18

个人简介:3GiOS组最強の伝説

博客简介:

m0_73348697的博客

查看详细资料
个人成就
  • 获得766次点赞
  • 内容获得29次评论
  • 获得824次收藏
  • 代码片获得1,231次分享
  • 博客总排名1,416,728名
创作历程
  • 35篇
    2024年
  • 44篇
    2023年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 移动开发
    iosobjective-c
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

37人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Effective Objective-C 学习(四)

CoreFoundation 框架也定义了一套C 语言API,用于操作表示这些collection 及其他各种collection 的数据结构。例如,NSArray 是Foundation 框架中表示数组的 Objective-C 类,而CFArray 则是 CoreFoundation 框架中的等价物。这两种创建数组的方式也许有区别,然而有项强大的功能可在这两个类型之间平滑转换,它就是 “无缝桥接”(toll-free bridging)。
原创
博文更新于 2025.07.18 ·
2536 阅读 ·
22 点赞 ·
1 评论 ·
21 收藏

iOS——线程安全、线程同步与线程通信

若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作(更改变量),一般都需要考虑线程同步,否则的话就可能影响线程安全。
原创
博文更新于 2025.07.18 ·
2500 阅读 ·
17 点赞 ·
0 评论 ·
11 收藏

iOS——【Blocks】

Blocks是C语言的扩充功能,即带有自动变量的匿名函数。匿名函数就是不带函数名的函数。这一概念同样被称为“闭包”,lambda计算等。自动变量是在函数内部声明的变量,其作用域仅限于声明它的函数内部。这意味着它们只能在其声明的函数内部使用,并且在函数执行完毕后会被自动销毁。
原创
博文更新于 2025.07.18 ·
1418 阅读 ·
20 点赞 ·
1 评论 ·
22 收藏

iOS——APP启动流程

条件准备:环境,平台,版本,路径,主机信息等等;确定是否有共享缓存并去加载(一般是非模拟器情况)载入GDB调试器通知。(老版本的不重要,没用,不知道这个名词没关系)添加dyld到UUID列表中,启用堆栈符号化。(没用,不需要知道)实例化主程序,instantiateFromLoadedImage(镜像文件加载器,就是以mach-o的header方式加载主程序镜像。加载任何插入的库,(使用loadInsertedDylib)link(链接)主程序link 镜像文件(前面插入的库)
原创
博文更新于 2024.09.06 ·
2920 阅读 ·
22 点赞 ·
0 评论 ·
31 收藏

iOS——关联对象学习补充

类加载到内存中,需要重新构造类,构造的就是rw,rw包括rwe和ro类的处理包括给类映射类名、将类和元类添加到所有类的表中rw的构造过程就是给rw添加ro,并且生成rwerwe的生成过程是先添加ro的数据,之后获取到分类数据,添加到rwe中ro以及分类中的方法列表均要按照方法选择地址排序,方便后续的二分查找法在将方法列表添加到类的rwe时,需要倒序插入。后加载分类的在前面,后加载的分类在后面,类的数据在最后。对于运行时加载的分类情况:1.类与分类都实现load方法;
原创
博文更新于 2024.09.06 ·
1727 阅读 ·
16 点赞 ·
0 评论 ·
26 收藏

iOS——方法交换Method Swizzing

Method Swizzing是发生在运行时的,主要用于在运行时将两个Method进行交换,我们可以将Method Swizzling代码写到任何地方,但是只有在这段Method Swilzzling代码执行完毕之后互换才起作用。利用Objective-C Runtimee的动态绑定特性,将一个方法的实现与另一个方法的实现进行交换。
原创
博文更新于 2024.09.05 ·
2293 阅读 ·
23 点赞 ·
0 评论 ·
29 收藏

iOS——runLoop

RunLoop实际上就是一个对象,这个对象管理了其需要处理的事件和消息,并提供了一个入口函数来执行相应的处理逻辑。线程执行了这个函数后,就会处于这个函数内部的循环中,直到循环结束,函数返回。RunLoop是一种高级的循环机制,让程序持续运行,并处理程序中的各种事件,让线程在需要做事的时候忙起来,不需要的话就让线程休眠。RunLoop和线程是绑定在一起的,每条线程都有唯一一个与之对应的RunLoop对象。不能自己创建RunLoop对象,但是可以获取系统提供的RunLoop对象。
原创
博文更新于 2024.09.05 ·
2618 阅读 ·
19 点赞 ·
0 评论 ·
31 收藏

iOS——持久化

应用沙盒文件夹包含了:Application(应用程序包):包含了所有的资源文件和和可执行文件,上架前经过数字签名,上架后不可修改。Documents:文档目录,要保存程序生成的数据,会自动被分到iCloud中。保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录。(注意点:不要保存从网络上下载的文件,否则会无法上架!Library:用户偏好,使用 NSUserDefault 直接读写!如果要想数据及时写入磁盘,还需要调用一个同步方法。
原创
博文更新于 2024.09.05 ·
1990 阅读 ·
26 点赞 ·
0 评论 ·
25 收藏

iOS——frame和bounds的区别

frame: 描述视图在其父视图中的位置和大小,是“绝对”的。bounds: 描述视图自身的内容区域和尺寸,是“相对”的。
原创
博文更新于 2024.09.05 ·
1517 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

iOS——GCD再学习

在异步方法内又同步执行了一个方法,又因为同步执行中的方法执行完成前会阻塞当前线程,因此任务3执行完成前会一直阻塞线程,但是这个同步方法是处于串行队列的,因此要执行任务3要等待任务4执行完,但是任务4又要等任务3执行完才能执行,因此发生了死锁,跟那个主队列+同步执行差不多。syncConcurrent任务在其他线程中执行到追加 任务 1 到主队列中,因为主队列现在没有正在执行的任务,所以,会直接执行主队列的 任务1,等 任务1 执行完毕,再接着执行 任务 2、任务 3。(异步执行 具备开启新线程的能力。
原创
博文更新于 2024.09.05 ·
2142 阅读 ·
26 点赞 ·
0 评论 ·
24 收藏

iOS——通知协议代理

通知机制的核心是一个与线程关联的单例对象叫通知中心(通知中心发送通知给观察者是同步的,也可以用通知队列()异步发送通知。
原创
博文更新于 2024.09.05 ·
1941 阅读 ·
24 点赞 ·
0 评论 ·
27 收藏

iOS——Block与内存管理

1、对象类型的auto变量。2、引用了 __block 修饰符的变量。
原创
博文更新于 2024.09.05 ·
1850 阅读 ·
10 点赞 ·
0 评论 ·
28 收藏

iOS——retain和release底层原理

这段代码的逻辑是:首先初始化并赋值变量,然后进入循环,检查newisa是否为 nonpointer isa,如果不是,则清除isa的原子锁。如果tryRetain为真,则尝试调用增加引用计数,否则调用增加引用计数。如果对象正在被释放,则清除isa的原子锁,并根据条件返回nil或对象。接着,尝试增加引用计数并检查是否溢出,如果溢出,则将部分引用计数转移到 side table 并设置相关标志。循环结束时,检查并处理 side table 的引用计数操作。这段代码用于尝试增加对象的引用计数。
原创
博文更新于 2024.09.05 ·
1573 阅读 ·
21 点赞 ·
0 评论 ·
17 收藏

iOS——atomic、nonatomic、assign、_unsafe_unretain

在iOS开发中,当你定义一个属性时,编译器会自动为你生成一个带下划线的成员变量(实例变量)以及对应的getter和setter方法。如果你使用atomic修饰这个属性,那么编译器在生成setter和getter方法时,会在这些方法的内部实现中加入加锁操作。但是加锁只能保证getter和setter方法内部的线程安全,并不能保证对该属性的所有操作都是线程安全的。可以看出来在两个方法中,使用atomic修饰的话,对值的设置都会有加锁和解锁的步骤。
原创
博文更新于 2024.09.05 ·
1921 阅读 ·
18 点赞 ·
0 评论 ·
8 收藏

iOS——strong和copy的底层实现

打印出的结果是:可以看出来使用copy修饰的strCopy的值没有改变。根据前面的学习我们知道:copy修饰的变量,对象地址不一致了,指针指向了一个新的内存区域(相当于深拷贝),导致新值(newString)修改时不会影响。
原创
博文更新于 2024.09.05 ·
1701 阅读 ·
13 点赞 ·
0 评论 ·
21 收藏

iOS——weak修饰符的学习补充

ObjectC中对对象的存储,实现上做了一定的优化,一旦有弱引用对象被赋值,即运行时(Runtime)会在全局的SideTables中分配一个SideTable空间,此空间是根据对象的地址相关算法获取到的一个位置(所以存在多个对象分配到同一个位置,类似哈希冲突)。slock:自旋锁,用于多线程环境下的同步。RefcountMap:引用计数映射表,管理对象的引用计数。键值为对象指针,对应value为引用的一些标记位以及状态weak_table:弱引用表,管理对象的弱引用。是一个散列表。
原创
博文更新于 2024.09.05 ·
1561 阅读 ·
16 点赞 ·
0 评论 ·
27 收藏

iOS——内存管理超详解!!

在前面,我们简单学了MRC与ARC。MRC指手动内存管理,需要开发者使用retainrelease等手动管理对象的引用计数,确保对象在必要时被释放。ARC指自动内存管理,由编译器自动管理对象的引用计数,开发者不需要手动管理内存。这是因为。
原创
博文更新于 2024.09.05 ·
1887 阅读 ·
23 点赞 ·
0 评论 ·
25 收藏

iOS——内存五大分区

如果值仅一个类中的对象和类方法使用并且值可变,可以定义全局静态变量,如果是多个类使用并可变,建议值定义在model作为成员变量使用。从内存优化和程序编译的角度来说,尽量少用全局静态变量,因为存在的生命周期长,一直占用空间。使用全局变量的原因就在于其对外的特性,但是其使用的方便性没有使用model的属性或宏来得方便。定义后只会存在一份值,每次调用都是使用的同一个对象内存地址的值,并没有重新创建,节省空间,只能在该局部代码块中使用。不同于变量,常量的值是固定不可变的,一般用于只读值。
原创
博文更新于 2024.09.05 ·
942 阅读 ·
25 点赞 ·
0 评论 ·
5 收藏

iOS——消息传递和消息转发

从本类的 method list (二分查找/遍历查找)查找imp从本类的父类的cache查找imp(汇编)从本类的父类的method list (二分查找/遍历查找)查找imp:…继承链遍历…(父类->…->根父类)里找cache和method list的imp若上面环节有任何一个环节查找到了imp,跳出循环,缓存方法到本类的cache,并返回imp直到查找到nil,指定imp为消息转发,跳出循环,执行动态方法解析resolveMethod_locked。
原创
博文更新于 2024.07.22 ·
2428 阅读 ·
22 点赞 ·
0 评论 ·
32 收藏

iOS——MRC与ARC以及自动释放池深入底层学习

在前面,我们简单学了MRC与ARC。MRC指手动内存管理,需要开发者使用retainrelease等手动管理对象的引用计数,确保对象在必要时被释放。ARC指自动内存管理,由编译器自动管理对象的引用计数,开发者不需要手动管理内存。这是因为。
原创
博文更新于 2024.07.18 ·
1410 阅读 ·
13 点赞 ·
0 评论 ·
30 收藏
加载更多