Skip to content

Commit

Permalink
refactor: 部分内容挪至下一期
Browse files Browse the repository at this point in the history
  • Loading branch information
ChengzhiHuang committed Jun 11, 2024
1 parent d4f682e commit 3ceddf1
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 42 deletions.
49 changes: 7 additions & 42 deletions Reports/2024/#292-2024.06.10.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,26 @@
# 老司机 iOS 周报 #292 | 2024-06-10

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/ios-weekly.png?raw=true)
![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/292.jpg?raw=true)
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

> 行业相关的新闻、趣事、看法
### 🌟 [【老司机技术出品】 WWDC24 内参目录(更新中)](https://wwdc-reference.feishu.cn/wiki/QsFQwuOgcirBZck2xorcGtwUnKb?table=tblETPZEPEmxZ8gy&view=vewysxfUqf)

##  Developer - 设计开发加速器

> 设计开发加速器相关活动
## 新手推荐

> 收集一些对新手友好且质量不错的文章
今年我们如期带来 Session 的汇总,并会在每天推送当天新放出的 Session ,欢迎大家关注更新。

## 文章

> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
### 🐎 [How Do You Know Whether or Not SwiftUI Previews and Preview Content Are Excluded From App Store Builds?](https://jaredsinclair.com/2024/05/20/preview-content.html)

[@Kyle-Ye](https://github.com/Kyle-Ye): 部分同学写 Preview 代码可能没有加 `#if DEBUG` 的习惯,理想情况下也确实不用加。Preview 代码不会被实际上游代码引用,因此直觉是不用 `#if DEBUG` 也不会出现在最终代码中。本文介绍了目前 SwiftUI Preview + Xcode 的一些bad case,并建议大家目前对于 Preview 代码还是保持写 `#if DEBUG`

### 🌟 🐕 [What Does spacing = nil Mean in SwiftUI? ](https://fatbobman.com/en/posts/spacing-of-swiftui/)

[@zoeGuo](https://github.com/zoeGuo):作者通过探讨子视图间不一致的间距问题,深入分析了 spacing 参数的默认值 nil 所代表的含义。作者从“是什么”、“为什么”、“怎么用”的角度,分析了 SwiftUI 中 spacing 的构成和原理。对开发者在处理复杂布局、追求 UI 细节时有很大帮助,掌握一些 spacing 技巧也能帮助实现一些用传统方法难以达到的布局效果。

### 🐎 [How Do You Know Whether or Not SwiftUI Previews and Preview Content Are Excluded From App Store Builds?](https://jaredsinclair.com/2024/05/20/preview-content.html)

[@Kyle-Ye](https://github.com/Kyle-Ye): 部分同学写 Preview 代码可能没有加 `#if DEBUG` 的习惯,理想情况下也确实不用加。Preview 代码不会被实际上游代码引用,因此直觉是不用 `#if DEBUG` 也不会出现在最终代码中。本文介绍了目前 SwiftUI Preview + Xcode 的一些 bad case,并建议大家目前对于 Preview 代码还是保持写 `#if DEBUG`

### 🐎 [Do NOT init State externally in SwiftUI](https://samwize.com/2024/05/08/do-not-init-state-externally-in-swiftui-view/)

[@JonyFang](https://github.com/JonyFang): 这篇文章详细解析了为何不应在 SwiftUI 中外部初始化 `State`,并提供内联初始化的正确姿势及其他解决方案,避免视图更新问题。
Expand All @@ -39,13 +31,6 @@

> 推荐人:[PBK-B](https://github.com/PBK-B)
### 🐎 [Bad practice: not using a ButtonStyle](https://www.swiftwithvincent.com/blog/bad-practice-not-using-a-buttonstyle)

[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了一些不使用 ButtonStyle 的 bad case,一篇关于 SwiftUI ButtonStyle 的入门科普。

### 🐎 [Comparing Swift Compiler Performance on Type Inference Part I Strings, Numbers, Arrays, Dictionaries and Constructables](https://lucasvandongen.dev/compiler_performance.php)

[@kemchenj](https://kemchenj.github.io/):这篇文章比较了 Swift 编译器在进行类型推断时的性能,特别是在字符串、数字、数组、字典和可构建类型的初始化方面。作者通过基准测试发现,使用未类型化的字面量初始化通常最快,而使用 `.init()` 的方式最慢。特别是在复杂上下文中,例如计算属性,`.init()` 的性能下降明显。文章还指出,不同版本的 Xcode 在编译性能上的差异,并提出了优化编译时间的具体建议。

### 🐕 [Boost Performance by Over 100x Using the Accelerate Framework](https://getstream.io/blog/accelerate-framework/)

Expand All @@ -60,33 +45,13 @@

[@AidenRao](https://weibo.com/AidenRao): 这篇文章介绍了在 SwiftUI 中使用惰性容器的几个技巧和注意事项。惰性容器如 List 和 LazyVStack 在展示大型数据集时非常高效,它们只在需要时动态构建和加载视图,从而提升应用性能和内存利用效率。文章提到了自定义遵循 RandomAccessCollection 协议的数据类型,以优化数据源的性能和内存使用。此外,还介绍了实现无限数据加载的方法,以及 id 修饰器对 List 懒加载机制的影响等。这些技巧和注意事项能够使开发者在 SwiftUI 中保持流畅的用户体验和高效的资源使用。

## 工具

> 开发过程中常用的工具,及一些新工具的介绍
## 代码

> 库,代码段,开源app
### 🌟 🐕 [ZippyFormat](https://github.com/michaeleisel/ZippyFormat)

[@EyreFree](https://github.com/EyreFree): ZippyFormat 是一个更快版本的 NSString stringWithFormat 方法,在 iOS 端可以显著提升字符串格式化的性能。它通过直接将格式化参数追加到 char* 缓冲区,并仅在最后创建 NSString 来优化性能。ZippyFormat 还利用堆栈来避免 NSMutableString 产生的中间堆分配。此外,它在追加格式化参数时无需执行验证,因为已经知道数据是有效的 UTF-8。对于常见的 %@ 参数如 NSNumber、NSDictionary、NSArray 等,ZippyFormat 通过直接复制已知的输出到缓冲区,避免了调用 [object description] 的开销。总的来说 ZippyFormat 通过在较低层次上操作,避免了 Apple 原生实现中不必要的抽象和验证,从而显著提升了字符串格式化的速度。它是一个非常值得尝试的性能优化工具。


### 🌟 🐕 [o3d](https://mp.weixin.qq.com/s/_EaqpWF-CgCgX0sTkXoHsw)

[@Damien](https://github.com/ZengyiMa): o3d 是一款 Flutter 3D 渲染插件,它是一个能够在 Flutter 上渲染 glTF 和 GLB 格式 3D 模型的 widget 插件,支持 Android,IOS,Web 三个平台,不仅支持加载本地文件,而且支持加载在线文件。



##

> 比较不错的书的推荐和书评
## 音视频

> 比较不错的书的推荐和书评
## 内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考
Expand Down
73 changes: 73 additions & 0 deletions Reports/2024/#293-2024.06.17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# 老司机 iOS 周报 #293 | 2024-06-17

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/ios-weekly.png?raw=true)
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

> 行业相关的新闻、趣事、看法
##  Developer - 设计开发加速器

> 设计开发加速器相关活动
## 新手推荐

> 收集一些对新手友好且质量不错的文章
### 🐎 [Bad practice: not using a ButtonStyle](https://www.swiftwithvincent.com/blog/bad-practice-not-using-a-buttonstyle)

[@Kyle-Ye](https://github.com/Kyle-Ye): 本文介绍了一些不使用 ButtonStyle 的 bad case,一篇关于 SwiftUI ButtonStyle 的入门科普。


## 文章

> 写的不错的技术博客,包含但不局限于 iOS、多端统一、设计、产品等
### 🐎 [Comparing Swift Compiler Performance on Type Inference Part I Strings, Numbers, Arrays, Dictionaries and Constructables](https://lucasvandongen.dev/compiler_performance.php)

[@kemchenj](https://kemchenj.github.io/):这篇文章比较了 Swift 编译器在进行类型推断时的性能,特别是在字符串、数字、数组、字典和可构建类型的初始化方面。作者通过基准测试发现,使用未类型化的字面量初始化通常最快,而使用 `.init()` 的方式最慢。特别是在复杂上下文中,例如计算属性,`.init()` 的性能下降明显。文章还指出,不同版本的 Xcode 在编译性能上的差异,并提出了优化编译时间的具体建议。

## 工具

> 开发过程中常用的工具,及一些新工具的介绍
## 代码

> 库,代码段,开源app
### 🌟 🐕 [o3d](https://mp.weixin.qq.com/s/_EaqpWF-CgCgX0sTkXoHsw)

[@Damien](https://github.com/ZengyiMa): o3d 是一款 Flutter 3D 渲染插件,它是一个能够在 Flutter 上渲染 glTF 和 GLB 格式 3D 模型的 widget 插件,支持 Android,IOS,Web 三个平台,不仅支持加载本地文件,而且支持加载在线文件。

##

> 比较不错的书的推荐和书评
## 音视频

> 比较不错的书的推荐和书评
## 内推

重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考

具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)

## 关注我们

我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。

**关注有礼,关注【老司机技术周报】,回复「2023」,领取 2023 及往年内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom

## 说明

🚧 表示需某工具,🌟 表示编辑推荐

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

0 comments on commit 3ceddf1

Please sign in to comment.