本文尝试通过 STAR 原则拆解成父母相亲这个项目。 Situation 情景 Task 任务 Action 行动 Result 结果 业务介绍 相亲是一个线上的相亲业务,目的是帮助老人在线上帮助孩子找对象。目前全平台日活差不多 xx 万左右,具体在 iOS 上大概是 xx 万左右。 主要的功能就是 首页推荐卡片流&各种运营引导入口Banner 收藏看过以及 ...
本文尝试通过 STAR 原则拆解成父母相亲这个项目。 Situation 情景 Task 任务 Action 行动 Result 结果 业务介绍 相亲是一个线上的相亲业务,目的是帮助老人在线上帮助孩子找对象。目前全平台日活差不多 xx 万左右,具体在 iOS 上大概是 xx 万左右。 主要的功能就是 首页推荐卡片流&各种运营引导入口Banner 收藏看过以及 ...
本文将按照如下顺序逐个说明 Block 的本质 Block 捕获成员变量 Block 的存储域以及内存生命周期分析 Block 捕获成员变量的生命周期 GCD 里面的 Block 分析 MRC & ARC 下 Block 内存管理区别 Block weak 分析 / strongSelf 分析 一些常问的关于 Block 的面试题回答 本 ...
Objective-C 语言里的拷贝就是对象拷贝,即创建一个跟之前的实例对象一模一样的对象。一般来说数据模型类是需要支持拷贝的。Objective-C 里拷贝又分为浅拷贝(shallow-copy)和深拷贝(deep-copy)。 浅拷贝和深拷贝区别 浅拷贝只是复制一下对象指针,但是拷贝前和拷贝后的对象指针均指向同一内存区域,只不过是对象的内存引用计数加一。 深拷贝为拷贝前 ...
通用的做法是使用 getifaddrs 方法获取到指向本机网络接口信息的一个链表,然后通过遍历该链表拿到当前的网卡对应的 IP 地址。 iPhone 上的无线网卡是 en0 ,所以拿到 ifaddrs 结构体后去判断其 name 成员变量的时候,判定 name 是否等于 en0。 如果是运行 iPhone 模拟器的话 en0 是代表当前电脑上 `en0 ...
私下和很多朋友交流过这个话题,大部分求职者认为,我能做基本的 iOS 开发工作,就达到公司的要求了,殊不知公司招聘员工,更希望的是这个人能够在关键时候能够发挥一般人做不到的能力。 这篇文章是来自微信读书的 bang ,我完全同意他的观点。除了他的这些面试方法外,我还认为做比说更重要,所以我更喜欢在面试的时候,拿出一张白纸,让求职者写一段富有逻辑性的代码,看看他的思维是否严谨,对于一些常见的数据结 ...
从一些问题开始 什么是 AutoreleasePool ? 说明一下 NSAutoreleasePool 具体机制? ARC 时代和 MRC 时代的 AutoreleasePool 机制有什么区别? AutoreleasePool 的实现机制? AutoreleasePool 和 NSRunloop 有什么关系? `AutoreleasePool ...
Clang 编译器提供了 OC 自动合成属性的功能。如果一个属性没有被声明为 @dynamic 或者开发者没有自定制它的 getter 或者 setter 方法实现。那 Clang 会自动为你合成 getter 和 setter 方法的实现同时生成对应的成员变量,检查 Clang 编译器是否支持自动合成使用`_hasfeature(objcdefaultsynt ...
@property 和 attribute 的中文翻译都是属性,所以本文就只用英文做区分了。property 的不同 attribute 大致包含下面这些 strong //default weak copy assign //default unsafe_unretained atomic & nonatomic //default atom ...
@property 的本质是什么? @property 和运行时有什么关系? @property 一个 demo property 的本质是什么 @property 的本质就是成员变量加 getter 和 setter 方法。getter 和 setter 方法是编译器自动为我们生成的。我们也可以尝试去复写 getter 和 `se ...
GCD 为多核上的并行程序执行上的提供了全面支持。GCD 的出现就是系统帮助开发者管理了一些线程方面的工作让开发者将重心放入自己的业务。减轻了开发者的负担,同时也保证了并行执行的高效。