首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试题
订阅
用户4203970575333
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 0订阅
聊聊移动端跨平台数据库 Realm
开发杏仁 App 的过程中,我们在相对独立的模块试水了当前非常流行的移动端数据库:Realm,有挑战也有惊喜。下面以 iOS(Object-C) 平台为例,简单介绍下 Realm 的基本使用,并且总结下心得。 Realm 是一个针对移动端开发的、跨平台、跨语言数据存储方案。它上…
苹果内购(IAP)从入门到精通(4)- 订阅、续订、退订、恢复订阅
苹果内购之订阅相关的流程,包括订阅商品、续订、退订,以及恢复订阅的逻辑。本文主要是讲解主要流程,而订阅流程很复杂,一些各式各样的坑点会在以后的文章中讲解。
iOS - 聊聊 autorelease 和 @autoreleasepool
作为 iOS 开发者,在面试过程中经常会碰到这样一个问题:在 ARC 环境下autorelease对象在什么时候释放?如果你还不知道怎么回答,或者你只有比较模糊的概念,那么你绝对不能错过本文。 本文将通过Runtime objc4-756.2版本源码、macOS 与 iOS 工…
OC 底层探索 - Block 详解
通过 Clang 将以下 Block 代码转换为 C++ 代码,来分析 Block 的底层实现。 Block 底层数据结构就是一个__main_block_impl_0结构体对象,其中有__block_impl和__main_block_desc_0两个结构体对象成员。 调用_…
OC - 属性关键字和所有权修饰符
文章主要介绍了 OC 的属性关键字和所有权修饰符。属性关键字包括原子性、读写权限、内存管理、可空性的相关内容及用法。
OC 底层探索 - Category 和 Extension
1. Category 分类 ① 给一个类添加新的方法,可以为系统的类扩展功能。 ② 分解体积庞大的类文件,可以将一个类按功能拆解成多个模块,方便代码管理。 ③ 创建对私有方法的前向引用:声明私有方法,把 Framework 的私有方法公开等。直接调用其他类的私有方法时编译器会…
OC 底层探索 - load 和 initialize
1. load 每个类、分类的+load,在程序运行过程中只调用一次(除非开发者手动调用)。 ② 调用方式: 系统自动调用+load方式为直接通过函数地址调用,开发者手动调用+load方式为消息机制objc_msgSend函数调用。 再调用分类的+load,按照编译先后顺序调用…
深入浅出 Runtime(一):初识
Objective-C 是一门动态运行时语言,允许很多操作推迟到程序运行时再进行。OC的动态性就是由 Runtime 来支撑和实现的,Rumtime 就是它的核心; 我们平时编写的OC代码,底层都是转换成了 Runtime API 进行调用。 运行时:代码跑起来,被装载到内存中…
深入浅出 RunLoop(一):初识
RunLoop不是一个简单的do...while循环,它涉及到用户态和内核态之间的切换。 没有消息需要处理时,休眠线程以避免资源占用。从用户态切换到内核态,等待消息; 通过调用mach_msg()函数来转移当前线程的控制权给内核态/用户态。 如果没有RunLoop,main()…
iOS - 关于 GCD 的一些总结
1. GCD 初识 开发者只需要告诉 GCD 想要执行什么任务,不需要编写任何线程管理代码。 GCD 中的任务有两种封装:dispatch_block_t 和 dispatch_function_t。 提交给指定队列的 block,无参无返回值。 提交给指定队列的 functi…