本文整理自我在 SwiftGG 的 WWDC.playground 的技術分享。你也可以觀看影片版本(大約在:
https://www.youtube.com/watch?v=Q0Yy1dbKngk
WWDC21 第一天看到 AttributedString 時我就去翻了文件,發現標了 @dynamicMemberLookup ,就直覺底層還是用了 Objective-C 的 NSAttributedString,還發了推文。結果被 Apple 工程師回覆說「是整個用 Swift 重寫喔!」😂
https://twitter.com/jmschonfeld/status/1402038729850585090?s=21
曾經用 function builder(後來改名 result builder)寫過 NSAttributedStringBuilder,所以對這個題目有興趣
Session 只講了三個東西:AttributedString、Formatters、Grammar agreement
AttributedString 下面講
Formatters 一句話:增加了直接在 instance 後面加 .formatted()
就可以轉換格式的語法
Grammar agreement:針對英語、西班牙語本地化時,自動按照文法修正性別、單複數的