众所周知,目前国内已有众多的国产系统,基本上均源自linux,以linux为基础进行二次开发。比如红旗linux、深度等等。但不知道为什么,一说起某系统是基于linux而来,很多网友就瞧不起,并且会觉得这不算国产系统,算是linux。但其实我们真没这么看,源自于linux其实很正常的,比如安卓也是源自linux,iOS也是源自于unix,而近日大家津津乐道的华为自研操作系统鸿蒙也是源自于linux
Block的本质是什么吗?__Block底层又做了什么呢?在上一篇博客中,已经探索到block的本质是结构体(__main_block_impl_0)继承自__block_impl,block可以捕获外部变量,通过__block修饰内部可以变更外部变量的值。 那么本篇博客将对继续对block的底层原理进行分析。iOS底层探索之Block(一)——初识Block(你知道几种Block呢?)iOS底层
PHP的数组底层是怎么实现的?数组本质上是一个哈希表(HashTable,定义在$PHP_SOURCE_ROOT\\Zend\\zend_hash.h)。具体实现可以查看 $PHP_SOURCE_ROOT\\ext\\standard\\array.c 和 $PHP_SOURCE_ROOT\\Zend\\ZendAPI.c 。 PHP之所以发现这么迅速,有很大原因是因为数组数据非常好处理,而且它可
转载 2023-12-22 19:15:58
68阅读
(一)block 实现原理对于大多数人来讲,block内部到底是怎样实现的呢?我们可以借助clang将其编译成为c++的代码,就可以看出,block到底是什么东西,先来看这样一个问题,<!-- lang: cpp --> int age = 10; void (^block)() = ^{ NSLog(@"%d",age); };
转载 2023-08-28 16:40:16
106阅读
# iOS KVO 底层实现详解 KVO(Key-Value Observing)是 Objective-C 中一项强大的特性,可以让我们监听对象属性的变化。虽然 KVO 的使用简单,但其底层实现却涉及到许多复杂的概念。本文将深入探讨 KVO 的底层实现机制,并附上代码示例以帮助理解。 ## KVO 的工作原理 KVO 的实现主要依赖于 Runtime 和消息机制。以下是 KVO 的工作流程
原创 2024-09-08 06:17:37
20阅读
1.字典 字典是以key:value的形式来保存数据用{}表示. 存储的是key:value 2. 字典的增删改查(重点)            ① 添加 dic[新key] = 值dic = {"意大利": "李云龙", "美国": "美国往事"} dic["日本"] = "东京审判" # 新
https://www.jianshu.com/p/a9a1ca54ca54
转载 2023-05-22 11:11:23
48阅读
# iOS KVO(键值观察)底层实现揭秘 在iOS开发中,KVO(Key-Value Observing)是一种强大的机制,用于观察对象的属性变化。虽然我们常用KVO来简化代码,但了解其底层实现能帮助我们更好地掌握它的使用。 ## KVO的基本原理 KVO的核心思想是,当某个对象的属性发生变化时,它会通知所有观察这个属性的对象。iOS通过动态的方式做到了这一点,主要依赖于 Objectiv
原创 2024-09-08 06:17:34
21阅读
前言  RAC,全称是ReactiveCocoa,RAC就是一个简化代码的第三方库ReactiveCocoa;是函数式编程和响应式编程的结合。函数式编程的第一个特点就是可以把函数作为参数传递给另一个函数,第二个特点就是可以返回一个函数,这样就可以实现。响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进
转载 2024-07-03 07:13:42
100阅读
深入iOS系统底层之crash解决方法介绍  要学会看crash崩溃和报告 一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会很好的帮助开发者去分析和解决应用程序在线上运行的问题,当出现的崩溃问题能得到及时的解决和快速的修复时必将会大大的提升应用程序的用户体验
 iOS 是基于 UNIX 内核,Android是基于 Linux内核,他们之间有共性和区别  iOS系统架构分为四个层次:核心操作系统层(Core OS layer):Core OS 是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。  操作系统内核服务(
转载 2023-07-21 17:25:27
1727阅读
MAC OS系统架构  苹果系统把其操作系统分为四个层次,分别为应用层,应用框架层、核心框架层,还有就是Darwin1、应用层:包括用户能接触到的图形应用,如 Spotlight(系统自带搜索栏)、Aqua(Aqua是Mac电脑全新用户界面的名字)、SpringBoard(苹果iDevice的桌面) 等。2、应用框架层:即开发人员接触到的Cocoa等框架,这里了解几个概念,Co
前言KVO 也适用于传值,在之前的学习只是学习了KVO的传值,今天详细学习 监听和实现源码放在下一节学习1.1 KVOKVO(Key-Value Observing)是Objective-C语言中一种观察者模式的实现,可以用来监听对象属性值的变化。KVO机制允许一个对象注册为另一个对象的属性变化的观察者,并在被观察的属性值发生变化时,自动接收通知并进行相应处理。KVO可以实现监听某个属性的变化 K
IOS UITextView 的底层实现 ## 1. 引言 在 IOS 开发中,UITextView 是常用的用户界面组件之一,用于显示和编辑大段文本。UITextView 是基于 UIScrollView 的子类,因此具有滚动和分页的功能。在本文中,我们将深入了解 UITextView 的底层实现,包括其类结构和相关属性、方法的使用。 ## 2. UITextView 的类结构 UITe
原创 2023-10-28 06:24:21
166阅读
在这篇博文中,我将探讨“iOS 蓝牙底层实现”这一主题。蓝牙技术如今已经成为智能设备间常用的数据传输方式,而iOS系统对于蓝牙的底层实现则是在其便捷性和应用功能的基础上构建的。接下来,我将通过详细的技术原理、架构解析等方面,深入分析其实现机制。 ## 背景描述 随着智能设备的普及,蓝牙的应用场景越来越广泛,在手机、耳机、可穿戴设备等多种设备间实现数据传输的便捷操作也成为了用户关注的焦点。在此
原创 5月前
11阅读
在现代 iOS 应用程序中,数据模型转换和数据抓取都是至关重要的环节。YYModel 是一个流行的 Objective-C 和 Swift 类库,它可以轻松地将 JSON 数据映射到模型对象,以及将模型对象序列化为 JSON。这篇文章旨在深入探讨 iOS YYModel 的底层实现原理,并逐步解析其架构、源码及应用场景。 ### 背景描述 我们首先来看看 YYModel 的重要性及其应用场景,
原创 5月前
19阅读
问:当weak指向的对象被释放时,如何让weak指针置为nil的呢?1、调用objc_release2、因为对象的引用计数为0,所以执行dealloc3、在
转载 2023-05-22 11:58:11
111阅读
一:KVO系统实现首先分析一下系统实现#import <Foundation/Foundation.h>@interface Person : NSObject@property (copy, nonatomic) NSString *name;@end#import "Person.h"@implementation Person@end#i...
原创 2023-05-15 19:10:05
181阅读
# iOS 通知的底层实现iOS应用中,通知是非常重要的一部分。通过使用通知,应用可以及时向用户传达信息。本文将详细讲解如何实现iOS通知的底层机制。从申请权限、发送通知到处理通知,整个过程将被拆分为几个步骤。 ## 通知实现流程 | 步骤 | 操作描述 | |--------------|---------
原创 8月前
22阅读
iOS开发:沙盒机制以及利用沙盒存储字符串、数组、字典等数据1、初识沙盒:(1)、存储在内存中的数据,程序关闭,内存释放,数据就会丢失,这种数据是临时的。要想数据永久保存,将数据保存成文件,存储到程序的沙盒里就可实现这一功能;(2)、沙盒的本质就是一个文件夹,名字是随机分配的。(3)、沙盒构成:Document : 存储用户数据,需要备份的信息Library/Caches:存储缓存文件,程序专用的
转载 2024-02-29 11:47:35
35阅读
  • 1
  • 2
  • 3
  • 4
  • 5