首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
用户7913220534054
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
21
文章 21
沸点 0
赞
21
返回
|
搜索文章
赞
文章( 21 )
沸点( 0 )
iOS架构浅谈从 MVC、MVP 到 MVVM
概述 做了这么多年的客户端研发一直在使用苹果爸爸推荐的MVC架构模式。MVC从应用层面进行分层开发,极大优化了我们的代码结构,简单易上手,很容易被程序员所接受。程序员刚接手一个新项目,如果是MVC的架
iOS底层学习 - Runtime之Method Swizzling黑魔法
Method Swizzling(方法交换),顾名思义,就是将两个方法的实现交换,即由原来的A-AImp、B-BImp对应关系变成了A-BImp、B-AImp。 每个类都维护一个方法Method列表,Method则包含SEL和其对应IMP的信息,方法交换做的事情就是把SEL和I…
iOS底层学习 - Runtime之砖厂面试答疑
答:是由C 和C++ 汇编 实现的⼀套API,为OC语⾔加⼊了⾯向对象,运⾏时的功能。平时编写的OC代码,在程序运⾏过程中,其实最终会转换成Runtime的C语⾔代 码,Runtime 是 Objective-C 的幕后⼯作者。 比如:将数据类型的确定由编译时推迟到了运⾏时,比…
iOS底层学习 - 多线程之中的锁🔐
锁 -- 是保证线程安全常见的同步工具。锁是一种非强制的机制,每一个线程在访问数据或者资源前,要先获取(Acquire) 锁,并在访问结束之后释放(Release)锁。如果锁已经被占用,其它试图获取锁的线程会等待,直到锁重新可用。 前面说到了,锁是用来保护线程安全的工具。 可以…
iOS底层学习 - 深入RunLoop
一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一个机制,让线程能随时处理事件但并不退出,这种模型通常被称作 Event Loop。 Event Loop 在很多系统和框架里都有实现,比如 Node.js 的事件处理,比如 Windows 程序的消息…
iOS探索 内存管理篇
一个优秀的app必然是对内存"精打细算"的,本文就来探索一下内存管理中的一些门道。如果你看到了这篇文章,请仔细看下去,尤其是NSTimer部分的内容介绍了NSTimer和Block中的循环引用存在的差异 1. 五大区 2. 内存布局面试题 1. taggedPointer 最后…
iOS探索 runtime面试题分析
里面虽然可以添加属性变量,但是这些properties并不会自动生成Ivar,也就是不会有 @synthesize的作用,dyld加载期间,这些分类会被加载并patch到相应的类中。这是一个动态过程,Ivar不能动态添加 然而程序还是无情的崩了... 其实在iOS中NSNumb…
【iOS】 Realm | 基础知识
Realm是新兴的跨平台数据库解决方案,提供多语言支持(JAVA、Objective-C、Swift、JS、.Net),你可以轻松的在iOS、Android等移动平台接入。Realm 平台主要提供数据存储和云同步等服务,数据存储服务免费,云同步是收费的。 Realm iOS提供…
ios statusbar h5
1. application 统一控制,一变所有界面全变,[[UIApplication sharedApplication] setStatusBarStyle:style]; 2. View controller单独控制每个界面,享受独自自己调配。 1. 判断View co…
iOS-<<改善objective-c程序的61个建议>>(上)
在面向对象开发语言中,对于类的描述,通常划分为头文件和源文件,头文件用于描述类的声明和可公开部分,而源文件用于描述类的方法或函数的具体实现,这也体现了面向对象语言的"封闭性"和"高内聚低耦合"的特性. 在oop(面向对象编程)中有两个技术用于描述类与类或对象之间的关系:一个是继…
下一页
关注了
16
关注者
0
收藏集
3
关注标签
14
加入于
2021-09-28