首页
AI Coding
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Swift🍓
订阅
Goyohol
更多收藏集
微信扫码分享
微信
新浪微博
QQ
6篇文章 · 0订阅
Swift5.0 的 Runtime 机制浅析
Objective-C语言是一门以C语言为基础的面向对象编程语言,其提供的运行时(Runtime)机制使得它也可以被认为是一种动态语言。运行时的特征之一就是对象方法的调用是在程序运行时才被确定和执行的。系统提供的开放接口使得我们可以在程序运行的时候执行方法替换以便实现一些诸如系…
Swift引用计数的底层分析
学过swift的基础语法,我们知道类对象有3种引用方式:强引用(strong)、弱引用(weak)、无主引用(unowned)。 我们从上篇文章探索Swift中Class的大致结构,了解了引用计数存放的位置。我们现在写一个小Demo,来看下引用计数的变化: 从1到2到3,可能还…
探索Swift中Class的大致结构
通过上一篇文章我们知道,swift中分配类内存空间调用的是这个方法,这个时候我们查看swift的源码,看该方法是如何实现的。 我们在HeapObject.cpp文件中找到该函数的实现,我们设一个断点在方法里面,运行下源码。 我们看到在初始化的时候,进入了swift_allocO…
初次探索SIL文件
生成SIL的文章上次已经讲过,我们这次简单分析下SIL文件。在main.swift中输入和上次一样的代码: 每个程序的开始都是main函数,swift也不例外,但是swift中的main函数被隐藏了,main.swift文件就代表了整个main函数,在文件里写的代码会在main…
Swift的中间文件:Swift Intermediate Language(简称SIL)
这样生成的项目只有一个main.swift文件,不会含有其他的干扰项。 我们可以从SIL中看到一些奇怪无规律的名字,例如:s4main6personAA7TeacherCvp。这其实是swift采用了名字重整技术,swift中的类名、方法名等会被重整,这样可以实现方法的重载,更…
写更好的 Swift 代码: 链式调用与@dynamicMemberLookup
在用 UIKit 的时候,我们会写很多类似的代码: 但在 SwiftUI 中: 不知道你的品位是否跟我一样,觉得后者比前者更具美感,更加简洁。前者需要不断通过imageView对象来设置,比较老式。后