话题编程语言 › Swift

编程语言:Swift

通过 SIL 看 Swift 的方法派发

Swift 方法派发方式与 Objective-C 大不相同,通过 SIL 分析 Swift 在方法派发上的逻辑和解决问题。

百度工程师移动开发避坑指南——Swift语言篇

本篇我们将介绍Swift语言部分常见问题。

使用Swift提高代码质量

京喜APP最早在2019年引入了Swift,使用Swift完成了第一个订单模块的开发。之后一年多我们持续在团队/公司内部推广和普及Swift,目前Swift已经支撑了70%+以上的业务。通过使用Swift提高了团队内同学的开发效率,同时也带来了质量的提升,目前来自Swift的Crash的占比不到1%。在这过程中不断的学习/实践,团队内的Code Review,也对如何使用Swift来提高代码质量有更深的理解。

快手 Swift 历险记之 Clang Module带来的“坑”

讨论Swift 编译模型的一些原理,以及快手在接入Swift过程中所遇到各种坑和快手客户端基础架构团队对其的解决方案。

抖音 Swift 编译优化 - 基于自定义 Toolchain 编译提速 60%

抖音基础技术团队通过对 Swift 编译器进行深度定制,将增量编译性能提升 60%,并已在抖音 iOS 工程落地验证。

云音乐 Swift 混编 Module 化实践

云音乐 iOS App 经历多年的迭代,积累了大量的 Objective-C 代码,现在开始探索 Swift 混编。本文介绍了云音乐主站在 Module 化过程中的分析与实践。

窥探Swift源码下的Array

Array是Swift下数组的实现,了解Swfit的都知道,Swift下的大多数的对象均是由struct组成的。

字节跳动DanceCC工具链系列之Swift调试性能的优化方案

DanceCC (Dance Compiler Collection) 是字节跳动的终端技术团队(Client Infrastructure) 下的编译工具链品牌,编译工具链团队成员由国内和硅谷两地的编译器专家及构建系统专家组成,提供基于开源的 LLVM/Swift 项目深度定制的clang/swift编译器、链接器、lldb 调试器和语言基础库等工具及优化方案,覆盖构建性能优化及应用性能稳定性优化等场景,本系列将会围绕这些场景中的优化案例,介绍编译工具链技术在字节的优化方案和落地情况。

Swift 中的 JSON 反序列化

本文会大致介绍一下 Swift 中的 JSON 反序列化常用方案和各自的优缺点,以及云音乐目前正在使用的方案。

Swift后缀表达式(逆波兰式)转换计算

最近在开发《挑战24点》的过程中遇到了一个问题,即,如何计算常用数学表达式的结果,比如,给定字符串8 - (6 + 4 / 2 - 1) * 2,怎么计算得到结果,并且得到计算的过程。

网上查资料发现,大部分都是类似系统计算器的处理,在遇到第二个运算符时,就把前一步的操作结果计算出来。这样的处理方式并不适用 于笔者想要解决的问题。

进一步搜索后发现,前缀表达式、中缀表达式、后缀表达式的概念,给定的字符串8 - (6 + 4 / 2 - 1) * 2属于中缀表达式,而想要计算机得出结果,可以转为前缀表达式或者后缀表达式,然后再对转换后的表达式进行计算。

这里采用中缀表达式转后缀表达式,然后计算后缀表达式得出结果

Swift 首次调试断点慢的问题解法

Swift 调试断点是与开发体验关系最为密切点之一,优酷 iOS 团队整理了解决方案并分享,希望能帮助到大家。

Swift协议与关联类型

本文将讨论Swift协议(Protocol)中特殊的关联类型(Associated Types),它与泛型(Generic)有相似性和又有区别。

两个swift 开发小技巧

类型系统和类型检测在应用开发中起到了较好的作用,它能够帮助我们编译期发现可能的错误。union type是一个很有用的类型定义模式 ,基本思想是允许单个类型表示一组不同的不同类型的值。

我们经常使用的用例之一是各种对象的集合进行迭代,union type允许我们避免复杂的合并和排序逻辑,并在跌代体中使用简单的条件逻辑。

58同城Swift版小游戏研发之路

混天项目:58集团共建的Swift基础设施平台建设, 主要目的是推进集团App对Swift语言进行使用,并打造复杂工程下Swift-OC混编、编译耗时优化、包大小检测(支持Swift)等基础能力的建设。

小游戏Native化背景:梦想小镇在同城10.7.0版本前, 是由H5技术研发,优点是可以跨平台,完美支持iOS以及Andriod系统。但是,小游戏的核心业务模式是通过用户合成升级, 当达到一定等级后,给予用户现金奖励(在同城中是发放神器矿石)。但在10.9.0版本苹果审核人员明确表明此业务模式触发了4.7.7审核条款, 如果继续使用H5的技术手段,只能去掉奖励。但是如果去掉奖励的话, 也基本失去了用户玩小游戏的动力,对App的日活以及业务导流都会有比较大的影响。

基于上述同城对混编语言建设的现状, 以及苹果对H5游戏审核政策的变化,使我们坚定了用Swift语言开发游戏的新思路。

Swift子数组提取性能优化分析

在写本文时,本人成功替某一个知名在线答题平台的后台优化一个Swift代码模块的运行效率,并使之上线后运行效率提升了数十倍。经过这次经历,本人决定将优化的经验进行一一分享,优化包括了字符串解析、数组操作、指针操作等。

Swift 在手淘商品评价的技术重构与实践

本文阐述了 Swift 是如何提升研发效率/质量、现有项目/模块是否需要使用 Swift 作为原生语言、在手淘商品评价落地 Swift 过程中我们遇到了哪些问题以及收益。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-22 22:13
浙ICP备14020137号-1 $Map of visitor$