中文
👋 Hi, I'm SIQI
闲话 Apple 的 App Review 趣事
Jan 18, 2024
第 17 章 图像和 UI:示例
节选自《iOS和macOS性能优化》
Aug 04, 2022
第 16 章 图像和 UI:陷阱和技巧
节选自《iOS和macOS性能优化》
Aug 03, 2022
第 15 章 图像和 UI:测量和工具
节选自《iOS和macOS性能优化》
Aug 02, 2022
第 14 章 图像和 UI:原理
节选自《iOS和macOS性能优化》
Aug 01, 2022
从预编译的角度理解 Swift 与 Objective-C 及混编机制
Jun 19, 2022
cocoapods-hmap-prebuilt - 一款可以让大型 iOS 工程编译速度提升 50% 的工具
Mar 19, 2022
iOS系统中导航栏的转场解决方案与最佳实践
Feb 19, 2022
关于 .d 文件一些思考与理解
Jul 07, 2021
Swift 2021 生态调研报告
Apr 21, 2021
使用 Swift 编写 CLI 工具的入门教程
Dec 26, 2020
WWDC20 10654 - Create Swift Playground content for iPad and Mac
Aug 12, 2020
WWDC20 10680 - Refine Objective-C frameworks for Swift
Jul 02, 2020
编译系统(Compilation System)和编译流程(Compilation pipeline)到底是什么
Jun 07, 2020
编译到底是什么?
May 24, 2020
Xcode Concept 学习笔记
May 14, 2020
Swift 2020 生态调研报告
Apr 30, 2020
一次让刷新控件好玩起来的尝试
Jan 19, 2020
Swift Tips 032 - Assigning to self in struct initializers
Dec 30, 2019
Swift Tips 031 - Recursively calling closures as inline functions
Dec 22, 2019
Swift Tips 030 - Passing self to required Objective-C dependencies
Dec 19, 2019
Swift Tips 029 - Making weak or lazy properties readonly
Dec 02, 2019
Swift Tips 028 - Defining static URLs using string literals
Nov 15, 2019
Swift Tips 027 - Manipulating points, sizes and frames using math operators
Nov 10, 2019
Swift Tips 026 - Using closure types in generic constraints
Nov 09, 2019
Swift Tips 025 - Using associated enum values to avoid state-specific optionals
Nov 08, 2019
Swift Tips 024 - Using enums for async result types
Nov 01, 2019
Swift Tips 023 - Working on async code in a playground
Oct 30, 2019
Swift Tips 022 - Overriding self with a weak reference
Oct 23, 2019
Swift Tips 021 - Using DispatchWorkItem
Oct 09, 2019
Swift Tips 020 - Combining a sequence of functions
Oct 05, 2019
Swift Tips 019 - Chaining optionals with map() and flatMap()
Oct 04, 2019
Swift Tips 018 - Using self-executing closures for lazy properties
Oct 01, 2019
Swift Tips 017 - Speeding up Swift package tests
Sep 26, 2019
Swift Tips 016 - Avoiding mocking UserDefaults
Sep 21, 2019
Swift Tips 015 - Using variadic parameters
Sep 20, 2019
Swift Tips 014 - Referring to enum cases with associated values as closures
Sep 16, 2019
Swift Tips 013 - Using the === operator to compare objects by instance
Sep 15, 2019
Swift Tips 012 - Calling initializers with dot syntax and passing them as closures
Sep 10, 2019
Swift Tips 011 - Structuring UI tests as extensions on XCUIApplication
Sep 06, 2019
Swift Tips 010 - Avoiding default cases in switch statements
Sep 04, 2019
Swift Tips 009 - Using the guard statement in many different scopes
Sep 03, 2019
Swift Tips 008 - Passing functions & operators as closures
Aug 30, 2019
Swift Tips 007 - Using `#function` for UserDefaults key consistency
Aug 29, 2019
Swift Tips 005 - Using Wrap to implement Equatable
Aug 27, 2019
Swift Tips 004 - Using typealiases to reduce the length of method signatures
Aug 26, 2019
Swift Tips 003 - Referencing either external or internal parameter name when writing docs
Aug 23, 2019
Swift Tips 002 - Using auto closures
Aug 21, 2019
Swift Tips 001 - Namespacing with nested types
Aug 20, 2019
A Better Development Environment for macOS User
Jul 24, 2019
Dark Mode 适配工作小指南
Jun 21, 2019
由 Tagged Pointer 联想到的一个问题
Jul 29, 2018
UIBarButtonItem 在 iOS 11 上的改变及应对方案
Feb 24, 2018
iOS 中的抗锯齿处理思路小结
Jan 24, 2018
Xcode 代码块工具简介
Jan 18, 2018
Quick Guide: Animations With UIViewPropertyAnimator
Jul 18, 2017
Custom Controls: Button Action With Confirmation Through 3D Touch
May 18, 2017
Swift: Pretty in print() Pt. 3
Apr 26, 2017
Swift: Pretty in print() Pt. 2
Apr 25, 2017
Swift: Pretty in print() Pt. 1
Apr 24, 2017
A Guide Of Making Your Personal Blog - Part 7
Mar 30, 2017
A Guide Of Making Your Personal Blog - Part 6
Mar 29, 2017
A Guide Of Making Your Personal Blog - Part 5
Mar 28, 2017
A Guide Of Making Your Personal Blog - Part 4
Mar 27, 2017
A Guide Of Making Your Personal Blog - Part 3
Mar 26, 2017
A Guide Of Making Your Personal Blog - Part 2
Mar 25, 2017
A Guide Of Making Your Personal Blog - Part 1
Mar 24, 2017
Xcode 8 的 Debug 新特性 ---- WWDC 2016 Session 410 & 412 学习笔记
Oct 20, 2016
FOUR - 一个27岁零基础无业游民的第一个开源作品
Jul 26, 2016
resizableImageWithCapInsets:方法的探析
Jul 30, 2015