普通视图

发现新文章,点击刷新页面。
今天 — 2025年7月10日iOS
昨天 — 2025年7月9日iOS

在 SwiftUI 中,如何判断 Text 是否被截断?

作者 Fatbobman
2025年7月9日 08:12

Text 在 SwiftUI 中大量被使用,与 UIKit/AppKit 中对应的组件相比,Text 无需配置,开箱即用,但这也意味着开发者丧失了更多对其的控制能力。在本文中,我们将通过一个实际案例来展示,如何用 SwiftUI 的方式来完成一些看似"不可能"的任务:在一堆给定的视图中,找出第一个文本未被截断的,并以此作为需求尺寸。

开发者必看,全面解析应用更新策略,让用户无法拒绝你的应用更新!

作者 iOS新知
2025年7月8日 16:46
这里每天分享一个 iOS 的新知识,快来关注我吧 前言 在移动应用的开发过程中,版本更新是必不可少的一环。 无论是修复漏洞、功能迭代,还是提升用户体验,更新都扮演着至关重要的角色。那么,如何给用户有效
昨天以前iOS

避风塘

2025年7月8日 08:00

大概 4 年前,我注册了一个域名 before.town,因为脑海中忽然闪过「避风塘」,好像正好可以对应英文的 before town,而 town 又可以作为域名的后缀,就搜了一下,果然可以注册,就毫不犹豫地下手了,这一放就是 4 年。

生活中,总是会有一些瞬间,让我们忍不住拿起手机记录下来,但其实也没有太 Special,这些照片你想与别人分享,但好像又不够精致到值得发个朋友圈或 Instagram,于是就只能默默地住在相册里。我有时会想,这些照片它们会不会也想有一个出口呢?

「避风塘」的概念和这些照片好像挺契合的,带着这个想法,我决定让 before.town 成为这些「不够精致」但充满生活气息的照片的避风港。

它不是一个追求完美构图和滤镜的平台,更像是一个数字化的「避风塘」,让那些在主流社交媒体中找不到位置的照片,能够在这里找到一个安静的角落。你可以在这里分享你随手拍下的街角风景、一杯咖啡的特写、或者只是一个不经意的瞬间。它们可能没有华丽的辞藻来描述,也不需要精心的排版,但它们都带着你生活的温度和独特的视角。

最后,欢迎来避风塘分享你的日常 🙃。

高温与奇怪的天象 - 肘子的 Swift 周报 #92

作者 Fatbobman
2025年7月7日 22:00

从 6 月中开始,我所在的城市也迎来了罕见的高温天气。尽管相较于动辄 35-40 多摄氏度的其他地区,30-31 摄氏度在数字上看起来并不夸张,但对于习惯了 20 几度的我来说,这种温度已经很难熬了。

SDWebImage 弱引用缓存

作者 wyanassert
2025年7月7日 19:26

SDWebImage 是iOS 开发最流行的异步图片加载框架, 其中的缓存模块 SDImageCache 有一个很精巧的设计弱引用缓存, 源码参考

1
@property (nonatomic, strong, nonnull) NSMapTable<KeyType, ObjectType> *weakCache; // strong-weak cache

在我们的项目中引入了这个小修改, 整体的缓存命中率有1%左右的提升,

是否开启 内存缓存命中率 磁盘缓存命中率 下载命中率
开启弱引用缓存 67.99% 21.36% 10.67%
不开启弱引用缓存 66.76% 21.99% 11.25%

什么是弱引用缓存

  • 强引用表(NSDictionary), 对图片保持强引用, 保证缓存一定存在
  • 强引用表(NSCache), 对图片保持强引用, 且会随着系统内存大小/切换前后台自动清理缓存
  • 弱引用表(NSMapTable), 对图片保持弱引用, 只要图片还在内存中(被 UI 强引用 或被其他组件强引用), 就能命中缓存, 不消耗额外内存

引入了弱引用缓存的图片加载流程

❌
❌