搜索结果
查询Tags标签: Objective-C,共有 148条记录-
从预编译的角度理解Swift与Objective-C及混编机制
写在前面本文涉及面较广,篇幅较长,阅读完需要耗费一定的时间与精力,如果你带有较为明确的阅读目的,可以参考以下建议完成阅读:如果你对预编译的理论知识已经了解,可以直接从【原来它是这样的】的章节开始进行阅读,这会让你对预编译有一个更直观的了解。如果你对 Se…
2021/3/1 14:11:14 人评论 次浏览 -
Objective-C 之父 Brad J. Cox 去世,他推动了苹果软件生态的发展
据外媒报道,编程语言 Objective-C 之父 Brad J. Cox 博士已于近日在其家中逝世,享年 77 岁。Objective-C 是一种通用、高级、面向对象的编程语言,可以在现存 C 编译器基础上实现,而不需要编写一个全新的编译器。史蒂夫乔布斯曾在苹果开发 NeXTSTEP 操作系统时,使用了…
2021/1/25 14:08:59 人评论 次浏览 -
Swift 5.3的进化:语法、标准库、调试能力大幅提升
概括Swift 从 5.0 的 ABI 稳定到5.1 的模块稳定,Swift 终于不是《Swift 入门到重学》了。本次 WWDC2020,Swift 5.3 正式发布,Swift 依旧朝着安全、高效、易读的方向持续发力,不断的在改进语法,增强代码的表达能力和易用性。因为 Swift 的模块稳定,SPM 现在也支持了二…
2020/8/11 14:04:08 人评论 次浏览 -
面试遇到RunLoop的第一天-原理
RunLoop是什么?你了解嘛。RunLoop也是作为一名iOS manager必须了解的一个知识点,开发中可能只有用到timer的时候,接触过runloop.其实,对于iOS App来说,runloop是一个非常重要的东西,可以说runloop是支持程序运行的不可缺少的一部分。 什么是RunLoop RunLoop顾名思义…
2020/7/29 23:03:59 人评论 次浏览 -
Swift 5.3 又更新了什么新奇爽快的语法?
Swift 发展里程碑 Swift 在 WWDC14 正式发布到 2019,经过 5 年的不断迭代,这其中经历了标准库变动,语法的增减。首先使用 Swift 作为开发语言的开发者们都苦不堪言,戏称《Swift 从入门到重学》,几乎每一年 Swift 都会迎来比较大的改动,甚至 API 都发生了变化。 WWD…
2020/7/22 5:03:48 人评论 次浏览 -
iOS开发——方法动态决议和消息转发机制
1. 动态方法决议 通过探索objc_msgSend源码,当慢速查找依然没有找到IMP时,会进入方法动态解析阶段,源码如下:在经过_class_resolveMethod方法后,在进行一次retry,重新进行一遍方法的查找流程,而只有一次动态方法解析的机会就是在_class_resolveMethod方法中。 _cla…
2020/7/21 23:04:09 人评论 次浏览 -
iOS 14 苹果对 Objective-C Runtime 的优化
作者:Damien,iOS 开发者。目前就职于携程。 Session:developer.apple.com/wwdc20/1016…概述 Objective-C 是一门古老的语言,诞生于 1984 年,跟随 Apple 一路浮沉,见证了乔布斯创建了 NeXT,也见证了乔布斯重回 Apple 重创辉煌,它用它特立独行的语法,堆砌了 UIKit…
2020/7/19 23:03:42 人评论 次浏览 -
block底层实现与变量捕获
前言 首发地址:block底层实现与变量捕获 本文已经添加到专辑:《彻底弄懂OC》。 欢迎加入我的QQ群:661461410,一起探讨iOS底层原理。 带着问题阅读block的本质是什么?你能讲出来它的底层结构吗? 全局变量会被block捕获吗?block会捕获哪些变量?block的底层数据结构 …
2020/7/19 23:03:37 人评论 次浏览 -
如何给Category增加属性
前言 本文已经添加到专辑:《彻底弄懂OC》。 欢迎加入我的QQ群:661461410,一起探讨iOS底层原理。 相关问题分类可以添加属性吗? 如果可以,应该如何实现。背景知识 我们知道在一个类中增加一个属性,编译器会帮我们做3件事,比如,我们给Person这个类增加一个属性age,…
2020/7/13 23:09:15 人评论 次浏览 -
iOS组件化-路由设计分析
组件化也是一个老生常谈的话题了,本文主要说一下在组件化中,站比较重要的位置的路由设计。 你的项目里可能是直接依赖了三方的路由组件,也可能是自己根据项目的实际需求私人订制了一套路由组件,下面我想通过几个呼声比较高的三方组件来聊一聊路由的设计和分析。这里不…
2020/7/12 23:09:31 人评论 次浏览 -
load VS initialize
load相关问题 Category中有load方法吗? 有load方法。 调用时机 load方法在runtime加载类、分类的时候调用,调用方式是直接调用方法,而不是通过消息机制触发调用。 load 方法能继承吗? load方法可以继承,但是一般情况下不会主动去调用load方法,都是让系统自动调用。 …
2020/7/9 23:08:50 人评论 次浏览 -
iOS开发 AudioUnit+AUGraph实现录音耳返功能
前言:这算是我进公司实习期间完成的第一个比较完整的项目吧,耗时大约2个月,也是我第一次接触iOS音频开发,目前还未接触过视频开发,但以后我也应该会往音视频方向发展,不得不承认于我个人而言,音视频开发确实有一定难度,直到现在我感觉自己对iOS的音频也是一知半解…
2020/7/7 23:26:48 人评论 次浏览 -
探秘AFNetworking
该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮>AFNetworking源码分析 AFNetworking是iOS最常用的网络框架,虽然系统也有NSURLSession,但是我们一般不会直接用它。AFNetworking经过了三个大版本,现在用的大多数都是3.x的版本。 AFNetworki…
2020/7/7 5:26:13 人评论 次浏览 -
NSURLSession最全攻略
该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮>NSURLSession NSURLSession在iOS7中推出,NSURLSession的推出旨在替换之前的NSURLConnection,NSURLSession的使用相对于之前的NSURLConnection更简单,而且不用处理Runloop相关的东西。 2015年…
2020/7/7 5:26:12 人评论 次浏览 -
iOS-图片高级处理(三、图片处理实践)
前言通过前面的学习图片高级处理1和图片高级处理2,我们知道在项目中因为性能原因,最好不要叠加太多UIView,CALayer层级的显示;但是很多情况又必须使用到图片的合成或是像素、滤镜处理。这里针这些常用的图片处理使用不同图形处理框架进行相关编码实践。项目代码。大图…
2020/7/5 23:26:22 人评论 次浏览