首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Swift
订阅
红桃
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
Swift 5 Type Metadata 详解
Swift 5 出了,主要是 ABI 稳定了,从 ABI Dashboard 来看为了解决 ABI 稳定问题,对 type metadata 也有不少改动。众所周知,我们 App 的 JSON 库 HandyJSON 是强依赖 metadata 结构的,如果 metadata …
好好看看 KVC && KVO
但是这里会有2种特殊情况。 运行后编译成功,但是代码奔溃掉。原因是 KVC 。所以我们只需要实现这么一个方法。甚至不需要写函数体部分 情况四:如果我们观察对象的属性是数组,我们经常会观察不到变化,因为 KVO 是观察 setter 方法。我们可以用 mutableArrayV…
关于Swift中的指针的那些事
在Objective-c的世界中,一切对象都是指针。它是一种运行时语言,具体指针的对象类型将会在运行时,由系统分配。这样虽然自由,但是却并不安全。 Swift世界就不一样了,Swift的世界很安全(至少大部分时候情况如此)。我们不必为对象运行时的类型担忧,这是Swift为我们构…
Swift AST的一点研究
2、语法分析器 会生成一个抽象语法树(AST)。之后,语义分析器会进行工作并生成一个通过类型检查的 AST,这一步的实现就是依赖于 SwiftSyntax (基于 libSyntax 库开发) 昂。。。研究了2天 暂时还未找到编译回Swift的方法,还望大神可以告知(抱拳)!
从源码解析 Swift 弱引用
由于 Swift 源码量较大,强烈建议大家把 repo clone 下来,结合源码一起来看这篇文章。 Swift 整个工程采用了 CMake 作为构建工具,如果你想用 Xcode 来打开的话需要先安装 LLVM,然后用 cmake -G 生成 Xcode 项目。 我们这里只是进…
[译]Bindings, Generics, Swift and MVVM
本文是译文。 上一篇文章我已经介绍了MVVM设计模式作为一种对MVC的发展,但是最终我提出的解决方案只覆盖了特定的场景----不可变的model和viewmodel。为了覆盖剩余的场景,我们需要可变的viewmodel来把变化传递给views或者是viewcontrollers…
MVVM With ReactiveCocoa
本文将采用理论与实践相结合的方式,重点介绍一个使用 MVVM 和 RAC 开发的 iOS 开源项目 MVVMReactiveCocoa ,目的是希望能为你实践 MVVM 提供帮助。
iOS拾遗—— Assets Catalogs 与 I/O 优化
早在 XCode 5,苹果引入了 Assets Catalogs ,它作为一个重要的开发组件,能够让开发者可以更方便的管理项目内的图片资源。 那么相比直接存储在根目录下,究竟 Assets Catalogs 有什么自己独特的优势呢?在 WWDC 2016 上提到的 I/O 优化…
在 iOS 平台实现Ping 和 traceroute
Ping是为了测试另一台主机是否可达,现在已经成为一种常用的网络状态检查工具。 56 data bytes: 向该主机发送大小是56字节的数据包。 icmp_seq: 响应包的序列号。 ttl: ip数据报的ttl值。 time:请求往返耗时。 64 bytes:响应数据包的大…
iOS底层原理总结篇-- 深入理解 KVC\KVO 实现机制
... 一. KVO的实现原理 1. 什么是KVO? 要监听Person中的age属性,我们就创建一个observer用来监听age的变化,当我们age一旦发生改变,就会通知observer。 2. KVO简单的实现 我们先简单的回顾一下 KVO的代码实现。 3. KVO存在的…