Swift社区

做最好的 Swift 社区


  • 首页

  • 分类

  • 标签

  • 关于

  • 归档

用 SwiftLint 保持 Swift 风格一致

发表于 2022-08-25 | 分类于 软件工具库
数字统计 5,360字 | 阅读时长 26分钟

前言

代码风格可能是一个有争议的话题,并且在开发人员之间引发一些激烈的讨论。使用工具强制执行一套代码风格规则对于避免一些争论,以及确保在整个项目中保持代码风格的一致性非常有帮助。SwiftLint 可以很容易的整合进 Xcode 项目中,以便在编译时将代码风格冲突标记为警告或者错误。

阅读全文 »

Swift 中的热重载

发表于 2022-08-25 | 分类于 Swift 文集
数字统计 2,284字 | 阅读时长 8分钟

前言

这一年是2040年,我们最新的 MacBook M30X 处理器可以感知到瞬间编译大型 Swift 项目,听起来很神奇,对吧?除此之外,编译代码库只是我们迭代周期的一部分。包括:

  • 重新启动它(或将其部署到设备)
  • 导航到您在应用程序中的先前位置
  • 重新生成您需要的数据。

如果您只需要做一次的话,听起来还不错。但是如果您和我一样,在特别的一天中,对代码库进行 200 - 500 次迭代,该怎么办呢?它增加了。

有一种更好的方法,被其他平台所接受,并且可以在 Swift/iOS 生态系统中实现。我已经用了十多年了。

从今天开始,您想每周节省多达 10 小时的工作时间吗?

阅读全文 »

在 Swift 中编写脚本:Git Hooks

发表于 2022-08-25 | 分类于 Swift 文集
数字统计 1,981字 | 阅读时长 8分钟

前言

这周,我决定完成因为工作而推迟了一周的TODO事项来改进我的Git工作流程。

为了在提交的时候尽可能多的携带上下文信息,我们让提交信息包含了正在处理的JIRA编号。这样,将来如果有人回到我们现在正在提交的源代码,输入git blame,就能很容易的找出JIRA的编号。

每次提交都包含这些信息可能会有点乏味(如果你使用了类似TDD之类的方法,您会提交的更加频繁),而且,尽管像Tower这样的git客户端会让此变得容易一些,但是您仍然需要手动将问题编号复制粘贴到提交消息中,并且记住这样做,这是我最难以解决的问题😅。

出于这个原因,我开始寻求了解git hooks,试图自动化这项任务。我的想法是能够从git分支获取JIRA编号(我们有一个分支命名约定,形如:story/ISSUE-1234_branch-name),然后将提交消息更改为以JIRA编号为前缀,从而生成最终结果消息:ISSUE-1234-其他原本的提交信息。

阅读全文 »

LeetCode - 68 文本左右对齐

发表于 2022-08-25 | 分类于 LeetCode-Swift
数字统计 563字 | 阅读时长 2分钟

LeetCode 题库:https://github.com/SwiftCommunityRes/LeetCode–Swift

前言

我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。

LeetCode 算法到目前我们已经更新了 66 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。

不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。

难度水平:简单

阅读全文 »

LeetCode - 67 二进制求和

发表于 2022-08-25 | 分类于 LeetCode-Swift
数字统计 1,036字 | 阅读时长 5分钟

LeetCode 题库:https://github.com/SwiftCommunityRes/LeetCode–Swift

前言

我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。

LeetCode 算法到目前我们已经更新了 67 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。

不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。

难度水平:困难

阅读全文 »

Swift 周报 第十期

发表于 2022-08-01 | 分类于 Swift 周报
数字统计 3,176字 | 阅读时长 12分钟

周报仓库:https://github.com/SwiftCommunityRes

前言

前几期周报内容是同步翻译的英文版周报,目前英文版停更,周报停滞半年多。经过多次讨论,我们决定重启周报,分模块整理内容同步给大家。

周报内容模块分为:新闻、提案、Swift论坛、推荐博文。初期计划每两周发布一期,欢迎志同道合的朋友一起加入周报整理。

昨日的生活与工作是否也曾迷茫?对新技术渴望突破的心是否依旧执着?Swift社区,为你的技术栈添砖加瓦,你,准备好了吗?

阅读全文 »

SwiftUI 状态管理系统指南

发表于 2022-07-06 | 分类于 SwiftUI
数字统计 3,143字 | 阅读时长 12分钟

前言

SwiftUI与苹果之前的UI框架的区别不仅仅在于如何定义视图和其他UI组件,还在于如何在整个使用它的应用程序中管理视图层级的状态。

SwiftUI没有使用委托、数据源或任何其他在UIKit和AppKit等命令式框架中常见的状态管理模式,而是配备了一些属性包装器,使我们能够准确地声明我们的数据如何被我们的视图观察、渲染和改变。

本周,让我们仔细看看这些属性包装器中的每一个,它们之间的关系,以及它们如何构成SwiftUI整体状态管理系统的不同部分。

阅读全文 »

Swift 中的类型占位符

发表于 2022-07-06 | 分类于 Swift
数字统计 1,433字 | 阅读时长 5分钟

Swift 的类型推断能力从一开始就是语言的核心部分,它极大地减少了我们在声明有默认值的变量和属性时手动指定类型的工作。例如,表达式var number = 7不需要包含任何类型注释,因为编译器能够推断出值7是一个Int,我们的number变量应该被相应的类型化。

作为 Xcode 13.3 的一部分而一起发布的 Swift 5.6,通过引入 “类型占位符(type placeholders) “的概念,继续扩展这些类型推理能力,这在处理集合和其他通用类型时非常有用。

阅读全文 »

SwiftUI 中的自定义导航

发表于 2022-07-06 | 分类于 SwiftUI
数字统计 2,175字 | 阅读时长 9分钟

前言

默认情况下,SwiftUI提供的各种导航API在很大程度上是以用户直接输入为中心的——也就是说,导航是在系统响应例如按钮的点击和标签切换等事件时由系统本身处理的。

然而,有时我们可能想更直接地控制应用程序的导航执行方式,尽管SwiftUI在这方面仍然不如UIKit或AppKit灵活,但它确实提供了相当多的方法,让我们在构建的视图中执行完全自定义的导航。

阅读全文 »

LeetCode - 66 加一

发表于 2022-07-06 | 分类于 LeetCode-Swift
数字统计 544字 | 阅读时长 2分钟

前言

我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。

LeetCode 算法到目前我们已经更新了 65 期,我们会保持更新时间和进度(周一、周三、周五早上 9:00 发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。

不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。

难度水平:简单

阅读全文 »
1…678…19
Swift社区

Swift社区

我们的使命是做一个最专业最权威的 Swift 中文社区,我们的愿景是希望更多的人学习和使用Swift。我们会分享以 Swift 实战、SwiftUI、Swift 基础为核心的技术干货,不忘初心,牢记使命。

187 日志
19 分类
11 标签
RSS
CSDN 掘金 GitHub 知乎 微博 公众号
友情链接
  • SwiftWeekly
  • Article-ios
  • SwiftUI-Book
© 2024 Swift社区
博客全站共361.6k字