OC是一种动态性比较强的语言,所有的函数调用都是基于消息机制;简介参照: 文章目录1. isa指针1.1 简述1.2 在看isa之前先熟悉两个知识点`位域`和`共用体union`1.3 `isa`结构体的成员的含义:1.4 isa扩展Class2. `objc_msgSend(id,SEL);`OC中的方法调用2.1 简述2.2 执行阶段:消息发送2.3 执行阶段:动态方法解析 (dynamic
转载 2023-09-12 15:41:43
90阅读
Swift进阶文章汇总在文章swift进阶(四)闭包的使用介绍了闭包的使用,那么闭包底层是什么样的呢?那今天让我们探究一番。1. 闭包捕获上下文先看以下代码打印的值应该是多少?func makeIncrementer() -> () -> Int { var runningTotal = 10 func incrementer() -> Int {
文章目录综述1 一个oc对象的内存大小2. OC对象内存2.1 NSObject 的对象2.2 自定义对象2.3 复杂继承3. OC中操作系分配的内存都是16的倍数4. oc 对象的分类4.1 实例对象(instance)4.2 类对象(class)4.3 元类对象(meta-class)5. sizeof 综述objective-c 的代码(clang -rewrite-objc mian.m
转载 2023-08-09 23:03:51
235阅读
误解一:安卓是iOS的后辈   不知不觉,安卓已经成为了世界上最流行的移动智能系统,就市场占有率来看,安卓甚至要高于引领了智能机和平板电脑革命的iOS。安卓的红火深远地影响了IT行业,全球最大的社交网络Facebook甚至倡议员工弃用iOS改换安卓手机以更深入地了解用户体验 但是,流行总伴随着流言,安卓席卷世界的同时也让一些关于安卓的误解深深地植根在了人们的脑海中。很多人每天都在用安卓
转载 2024-06-26 20:37:30
34阅读
1. 关于OpenCV进阶之路前段时间写过一些关于OpenCV基础知识方面的系列文章,主要内容是面向OpenCV初学者,介绍OpenCV中一些常用的函数的接口和调用方法,相关的内容在OpenCV的手册里都有更详细的解释,当时自己也是边学边写,权当为一种笔记的形式,所以难免有浅尝辄止的感觉,现在回头看来,很多地方描述上都存在不足,以后有时间,我会重新考虑每一篇文章,让成长系列对基础操作的介绍更加详细
转载 2024-04-07 13:45:48
44阅读
IOS操作系统的层次架构:系统包含~层~层包含~框架~框架包含接口~接口~提供方法,功能  1)最底层的核心操作系统层(Core OS)该层包含6个框架:1)Accelerate 加速框架、2)Core Bluetooth Framework(核心蓝牙框架)、3)External Accessory Framework(外部附件框架)、4)Generic Security Service
iOS 底层探索篇 —— KVC 底层原理1. Method Swizzling的坑与应用1.1 method-swizzling 是什么?1.2 坑点坑点1:method-swizzling使用过程中的确保执行一次解决方案坑点2:子类没有实现,父类实现了解决方案坑点3:父类子类都没有实现解决方案class_replaceMethod, addMethod, method_exchangeImp
转载 2023-08-03 23:21:56
71阅读
说在前面我们平时写的代码Objective-C,底层实现其实都是C/C++的代码实现的,高级语言经过编译器编译,最终转化为机器语言。 所以,我们的Objective-C的面向对象,其实都是基于C/C++的数据结构实现的。那么Objective-C的对象、类主要是基于C/C++的什么数据结构实现的呢?1.对象的本质那到底是什么样的数据结构结构?是数组吗?我们都知道数组只能存储同一种类型的数据,而对象
关于开发语言的历史可以参看:计算机和编程语言的发展历史关于Android和IOS的发展历史可以参看:Android和IOS的发展历史开发语言不同1、IOS使用的是ObjectC和Swift2、Android使用的是Java和KotLin框架结构Android系统的底层建立在Linux系统之上Android系统的底层建立在Linux系统之上,由上到下依次是 应用程序、应用程序框架、核心类库,Linu
转载 2023-07-25 12:35:46
43阅读
中美技术战之下,无数国人在无数个日夜中无不为中华崛起而奋斗,就在今天,我家成果终于初长成!日前,正在于东莞松山湖总部举办的华为开发者大会上,华为消费者业务 CEO 余承东正式宣布了极具「开天辟地」般意义的鸿蒙 OS 的到来。鸿蒙 OS 共有四大技术特性之所以研发鸿蒙 OS,其实不仅是为了避免关键时期被扼住喉咙的尴尬,对此,余承东也表示,目前 Android/Linux 系统内核代码庞大冗余,难以保
Block的本质是什么吗?__Block底层又做了什么呢?在上一篇博客中,已经探索到block的本质是结构体(__main_block_impl_0)继承自__block_impl,block可以捕获外部变量,通过__block修饰内部可以变更外部变量的值。 那么本篇博客将对继续对block的底层原理进行分析。iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)iOS底层
文章目录1. iOS中多线程方案2. GCD 同步,异步,串行,并行2.1 从一到面试题入手认识下GCD:2.2 多线程易混淆的名词2.3 面试题解析3 多人线程与runloop3.1 面试题13.2 面试题24 队列组5 线程安全问题5.1 异常例子5.2 异常例子 解决方法:5.2.1 自旋锁 `OSSpinLock`5.2.2 pthread_mutex_t 互斥锁5.2.2 NSCond
转载 2023-10-09 08:54:40
119阅读
IOS swift
原创 精选 2022-12-10 15:59:37
411阅读
设计原则不允许忽略错误的设计原则不断的将模板代码和功能代码分离,实现高可重用性contains使用检查一个序列中的所有元素是否全部都满足某个条件, 封装一个更具有描述性名字的新函数extension Sequence { public func all(matching predicate: (Element) -> Bool) -> Bool { // 对于 个条件,如果没有
转载 2024-07-19 14:26:24
53阅读
虽然很多Android手机的配置都比iPhone要高,比如大多数Andorid手机的内存都有1GB,而iPhone 4S只有512MB内存,但用过iPhone的人都知道Android手机在使用的时候总感觉没有那么顺滑,究竟为什么会出现这种现象呢?一位软件工程师和前Google实习生Andrew Munn解释说是因为Android系统UI效率低下的框架设计的
转载 2023-11-25 13:36:57
84阅读
1. 自iPhone在07年初次登台将智能手机直接带向移动互联时代后,一方面智能手机普及率直线上升,另一方面整个市场目前呈现了iPhone与Android手机两强争霸的局面。iOS是由苹果公司开发的手持设备操作系统。最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果产品上。它也是以Darwin为基础的,因此同样属于类Unix的商业操作系
转载 2023-07-13 14:38:55
1102阅读
聪明,是客户对咨询顾问的印象,其实这种"聪明",更多是因为他们比普通人更熟练地运用"框架"思维,经过长期的咨询锤炼,如何界定问题、分析问题、解决问题的框架已经成为他们的一种本能。 在麦肯锡金字塔原理中,芭芭拉说过:“麦肯锡并不神秘、方法论铸就传奇”,的确,作为曾经的麦肯锡人,我认为很多思维方式并不像外界想象的那样神秘,而且很多人都懂,只是没有养成下意识的思维习惯。- 一、议题思维面对问题慢一点动手
 UNIX/Linux 系统可以粗糙地抽象为 3 个层次(所谓粗糙,就是不够细致、精准,但是便于初学者抓住重点理解),如图 3 所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。 图 3 UNIX/Linux 系统结掏层次概要 1) 内核层内核层是 UNIX/Linux 系统的核心和
转载 2023-09-06 20:33:08
211阅读
# iOS 网络底层实现指南 在iOS应用开发中,网络请求是与用户交互的重要环节。学习和实现iOS的网络底层功能,可以帮助你构建稳定、高效的应用程序。本文将详细介绍网络请求的实现流程,并提供代码示例和注解,帮助初学者理解其中的要点。 ## 网络请求实现流程 以下是实现iOS网络请求的基本步骤: | 步骤 | 说明 | |------|----
原创 8月前
14阅读
# iOS 数组底层实现详解 ## 引言 在 iOS 开发中,数组是一个非常常用的集合类型,理解数组的底层实现是提升编程能力的重要一环。本文将详细讲解如何实现一个简单的自定义数组,包括步骤和代码示例,帮助你更好地理解 iOS 中的数组是如何工作的。 ## 实现数组底层的流程 | 步骤 | 动作 | 代码示例 | |
原创 9月前
9阅读
  • 1
  • 2
  • 3
  • 4
  • 5