首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS-WWDC
订阅
Loksb
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
WWDC 2018:iOS 内存深入研究
对于我们的 App 所依赖的设备而言,内存资源是有限的。降低 App 所使用的内存可以提高性能和体验,相反,过大的内存占用可能会导致 App 被系统强制退出。所以每个 iOS 开发者都应该关注内存问题。这一节新的内容不多,基本上都是一些老的知识点。 在探讨内存之前,我们要知道为…
如何设计并实现一个线程安全的 Map ?(上篇)
Map 是一种很常见的数据结构,用于存储一些无序的键值对。在主流的编程语言中,默认就自带它的实现。C、C++ 中的 STL 就实现了 Map,JavaScript 中也有 Map,Java 中有 HashMap,Swift 和 Python 中有 Dictionary,Go 中…
阿里腾讯头条美团等iOS面试总结
1、简历上写的项目问了一遍,然后开始问知识点。 这些大概聊了1个半小时,开始的时候还有些紧张,慢慢聊开了,就好多了,面试官的语速有点快,老是需要面试官重复一遍,我也不经意间语速也变快了,不过能看出来面试官还是很厉害的。 4、MVC 和 MVVM 的区别。 用 MVVM 实现一个…
iOS VIPER架构实践(二):VIPER详解与实现
第一篇文章对VIPER进行了简单的介绍,这篇文章将从VIPER的源头开始,比较现有的几种VIPER实现,对VIPER进行进一步的职责剖析,并对各种细节实现问题进行挖掘和探讨。最后给出两个完整的VIPER实现,并且提供快速生成VIPER代码的模板。 Demo和轮子的github地…
神经病院 Objective-C Runtime 出院第三天——如何正确使用 Runtime
前言 到了今天终于要 "出院" 了,要总结一下住院几天的收获,谈谈 Runtime 到底能为我们开发带来些什么好处。当然它也是把双刃剑,使用不当的话,也会成为开发路上的一个大坑。 目录 1.Runtime 的优点 (1) 实现多继承 Multiple Inheritance (2) Met…
iOS面试真题·百度深圳公司第2轮面试
在百度找人内推简历后,过了几天,一个周五晚上7点多就来了电话面试,电话面完后,第二周的周一百度HR就来了电话,约一个现场面试。这里继续回忆一下百度公司的第二轮面试真题
深入iOS系统底层之crash解决方法
一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会很好的帮助开发者去分析和解决应用程序在线上运行的问题,当出现的崩溃问题能得到及时的解决和快速的修复时必将会大大的提升应…
BeeHive —— 一个优雅但还在完善中的解耦框架
前言 BeeHive 是阿里巴巴公司开源的一个 iOS 框架,这个框架是 App 模块化编程的框架一种实现方案,吸收了 Spring 框架 Service 的理念来实现模块间的 API 解耦。 BeeHive 这个名字灵感来源于蜂窝。蜂窝是世界上高度模块化的工程结构,六边形的设计能带来无限扩张的可能。…
深入研究Block捕获外部变量和__block实现原理
前言 Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”。从那开始,Block就出现在iOS和Mac系统各个API中,并被大家广泛使用。一句话来形容Blocks,带有自动变量(局部变量)的匿名函数…
深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用
前言 在上篇中,仔细分析了一下Block的实现原理以及__block捕获外部变量的原理。然而实际使用Block过程中,还是会遇到一些问题,比如Retain Circle的问题。 目录 1.Retain Circle的由来 2.__weak、__strong的实现原理 3.wea…