{"id":13672140,"url":"https://github.com/agelessman/FuckingSwiftUI","last_synced_at":"2025-04-27T21:32:09.876Z","repository":{"id":41275437,"uuid":"277424144","full_name":"agelessman/FuckingSwiftUI","owner":"agelessman","description":"提供SwiftUI中文教程，包含进阶内容","archived":false,"fork":false,"pushed_at":"2021-01-28T03:08:11.000Z","size":84,"stargazers_count":367,"open_issues_count":2,"forks_count":70,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-03T09:11:36.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agelessman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-06T02:29:42.000Z","updated_at":"2024-07-22T12:21:14.000Z","dependencies_parsed_at":"2022-07-13T15:29:43.998Z","dependency_job_id":null,"html_url":"https://github.com/agelessman/FuckingSwiftUI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agelessman%2FFuckingSwiftUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agelessman%2FFuckingSwiftUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agelessman%2FFuckingSwiftUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agelessman%2FFuckingSwiftUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agelessman","download_url":"https://codeload.github.com/agelessman/FuckingSwiftUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224087145,"owners_count":17253510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T09:01:27.661Z","updated_at":"2024-11-11T10:30:22.774Z","avatar_url":"https://github.com/agelessman.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# FuckingSwiftUI\n提供SwiftUI中文教程，包含进阶内容\n\n## 布局\n\n[SwiftUI之frame详解](https://juejin.im/post/5ef94d66f265da23062456f6)\n\n[SwiftUI之AlignmentGuides](https://juejin.im/post/5ef94c64e51d453474166298)\n\n[SwiftUI之GeometryReader](https://juejin.im/post/5f05737a6fb9a07e7a53d384)\n\n[SWiftUI之Layout基础篇](https://juejin.im/post/6856276793817563144/)\n\n## 控件\n[SwiftUI之ScrollView+Hosting+Representable](https://juejin.im/post/5f0336506fb9a07e8351f63d)\n\n[SwiftUI-RoundedCornersView](https://github.com/agelessman/SwiftUI-RoundedCornersView)\n\n## 动画\n\n[SwiftUI动画(1)之Animatable](https://juejin.im/post/5ef94762f265da22ad19dd55)\n\n[SwiftUI动画(2)之GeometryEffect](https://juejin.im/post/5ef94b53e51d45346200386f)\n\n[SwiftUI动画(3)之AnimatableModifier](https://juejin.im/post/5ef94bdce51d4534c4550af5)\n\n[SwiftUI之Transitions](https://juejin.im/post/5ef94c2f6fb9a07e5d76b5ee)\n\n## Custom\n\n[SwiftUI之Custom Styling](https://juejin.im/post/5ef94deff265da22e610d07c)\n\n[SwiftUI之Custom ProgressView](https://juejin.im/post/5f003d906fb9a07e9d6035fa)\n\n## 精彩\n\n[SwiftUI之ViewModifier详解](https://juejin.im/post/5ef94dc65188252e7206b547)\n\n[SwiftUI之安全更新Views](https://juejin.im/post/5ef94e246fb9a07ea929c52d)\n\n[SwiftUI之id(_)如何标识View](https://juejin.im/post/5ef94e46e51d45348424d98c)\n\n[SwiftUI之View实现Equatable协议](https://juejin.im/post/5ef94e75e51d4534640e985e)\n\n[SwiftUI之Gradient详解](https://juejin.im/post/5eff0d3bf265da23062460ee)\n\n[SwiftUI之View Tree（PreferenceKey）](https://juejin.im/post/5f06c5246fb9a07e9824cee2)\n\n[SwiftUI之View Tree（AnchorPreferences）](https://juejin.im/post/5f0c47805188252e3426daa3)\n\n[SwiftUI之View Tree实战1](https://juejin.im/post/5f0daac7e51d4534c9397cad)\n\n[SwiftUI之View Tree 实战2（绘制二叉树）](https://juejin.im/post/5f0e7437e51d453495701ab7)\n\n[SwiftUI之View Tree 实战3（下拉刷新）](https://juejin.im/post/5f1655506fb9a07eb04d81a6)\n\n## SwiftUI vs UIKit\n\n[SwiftUI之如何监听Dismiss手势](https://juejin.im/post/5ef94d996fb9a07e637d04e2)\n\n## 实战\n[LearnMovieSwiftUI](https://github.com/agelessman/LearnMovieSwiftUI)**需要f_a_n q_i_a_n_g**\n![img](https://github.com/Dimillian/MovieSwiftUI/raw/master/images/MovieSwiftUI_promo_new.png?)\n该项目是对[MovieSwiftUI](https://github.com/Dimillian/MovieSwiftUI)的拙劣模仿，有兴趣的朋友可以去下载学习原项目，\n本人对原项目的UI部分做了部分调整，但使用了大量的Combine来处理逻辑和网络请求，代码更加容易阅读和理解，项目现在处于开发中。。。\n\n**初步计划是实现iOS，iPadOS， macOS3个平台的适配，帮助大家学习SwiftUI知识，等项目写完后，会做成视频教程。**\n\n## 其他\n[一文读懂Swift函数式编程](https://juejin.im/post/6863262706720817159)\n\n## Combine核心内容\n\u003e 不得不说，Combine+SwiftUI是一对超强组合，用SwiftUI写代码不熟悉Combine是万万不行的，先补充纯文字的教程，后续再增加视频教程\n\n**到目前为止，Combine的教程已经完成，通过学习该教程能够全面地了解Combine的应用和原理。**\n\n**如果想学习如何拓展Combine，可以访问[CombineExt](https://github.com/CombineCommunity/CombineExt)**\n\n**更进一步，如果想了解Combine源码层面的知识，可以访问[OpenCombine](https://github.com/OpenCombine/OpenCombine)**\n\n**关于Combine的任何知识，都可以在这些内容中获取，希望能够帮助到大家。**\n\n1. [Combine之简述](https://juejin.cn/post/6911211072611418120/)\n2. [Combine之核心概念](https://juejin.cn/post/6911489863204700167/)\n3. [Combine之Publishers](https://juejin.cn/post/6911859875014246407/)\n4. [Combine之Subjects](https://juejin.cn/post/6917427878745358343/)\n5. [Combine之Operator[Mapping elements元素映射]](https://juejin.cn/post/6912227043531423757/)\n6. [Combine之Operator(Filtering elements元素过滤)](https://juejin.cn/post/6913717022077485063/)\n7. [Combine之Operator(Reducing elements元素减少)](https://juejin.cn/post/6914114671762997255/)\n8. [Combine之Operator(Mixing datas 数据合并)](https://juejin.cn/post/6914466467861921806/)\n9. [Combine之Operator(Matching datas 数据匹配))](https://juejin.cn/post/6914833026937520135/)\n10. [Combine之Operator(Mathematic operations 数学运算符)](https://juejin.cn/post/6915214311317045255/)\n11. [Combine之Operator(Sequence operations 顺序操作)](https://juejin.cn/post/6916383020878888967/)\n12. [Combine之Operator(Controlling timing 时间控制)](https://juejin.cn/post/6916686668716212238/)\n13. [Combine之Operator(Multiple subscribers 多重订阅)](https://juejin.cn/post/6917048059612856327/)\n14. [Combine之Operator(Encoding and decoding 编解码)](https://juejin.cn/post/6917429103352086541/)\n15. [Combine之Operator(Scheduler and Thread handling 处理线程)](https://juejin.cn/post/6918909429882716168/)\n16. [Combine之Operator(switchToLatest)](https://juejin.cn/post/6918910507596382216/)\n17. [Combine之Operator(Error Handing 错误处理)](https://juejin.cn/post/6919282447100149773/)\n18. [Combine之Operator(Debugging调试)](https://juejin.cn/post/6919283085657931783/)\n19. [Combine之Subscribers](https://juejin.cn/post/6919652912734535693/)\n20. [Combine之SwiftUI中的状态管理](https://juejin.cn/post/6920025176834834439/)\n21. [Combine之实战(应用)](https://juejin.cn/post/6920400409542524936/)\n22. [Combine之自定义Publisher](https://juejin.cn/post/6921875017361948679/)\n23. [Combine之自定义Operator](https://juejin.cn/post/6922249243319074823/)\n24. [Combine之自定义Subscriber](https://juejin.cn/post/6922637646762098702/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagelessman%2FFuckingSwiftUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagelessman%2FFuckingSwiftUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagelessman%2FFuckingSwiftUI/lists"}