一个未完成的 V2EX 客户端和因它而生的开源库们

2020-08-24 19:01:29 +08:00
 posthoc

XE2V 是一个 iOS 端的 V2EX 客户端,做为我的第一个项目,它寄予了我的很多期望,奈何水平不足,又是重度拖延症患者,以至于直到现在它还远没有完成。不过,它却成了一只下蛋的鸡,已经为我贡献了三个库,还有一两个(也可能更多)库正在完善中。没错,我是来推广我写的库的😁:

YLRefreshKit:一般我们的刷新操作是分散在各个页面的,使用这个库可以将刷新操作统一在一起,它还实现了自动刷新的功能。

YLExtensions:它简化了 UITableView 和 UICollectionView 的注册及配置过程。

YLStateMachine:这是一个简单的状态机。

还是提一下项目吧。要说它有什么特别的地方,嗯,我也用过几款 iOS 端的 V2EX 客户端,它们都不能很好的处理“回复”中的图片。我的项目解决了这个问题,让图片不仅可以正确展示,还能点击查看,大概也算是一个特色?当下一个库写好之后,我会依据它来重构 XE2V,然后就把项目放在我的 GitHub 上面。虽然项目功能还非常非常简陋,但就像图片问题一样,它也许能在某些方面给 V2EX 客户端的开发者或其他 iOS 开发者提供些微参考,这就足够了。

1972 次点击
所在节点    程序员
12 条回复
fffang
2020-08-24 19:07:52 +08:00
状态机是干嘛的
woodensail
2020-08-24 19:11:31 +08:00
@fffang 处理状态管理和转移逻辑的东西,适用于业务场景复杂的地方,但是不适用于业务场景特别复杂的地方。
fansangg
2020-08-24 19:12:17 +08:00
可以,精力很旺盛,还会造轮子
xtx
2020-08-24 19:14:50 +08:00
您就是 LGD 粉丝?
posthoc
2020-08-24 19:16:28 +08:00
@fansangg 😄,开始写的时候根本没考虑过造轮子,这些库是在一遍遍重写项目的过程中提炼出来的。
posthoc
2020-08-24 19:17:02 +08:00
@xtx LGD 是什么?
posthoc
2020-08-24 19:18:42 +08:00
YL 是“玉垒浮云”前两个字的首字母,至于“玉垒浮云”这个名字来自杜甫的一首诗。
xtx
2020-08-24 19:20:39 +08:00
@posthoc #6 lol 圈内 lgd 战队的反向梗…
posthoc
2020-08-24 19:32:22 +08:00
@xtx 谢谢
fffang
2020-08-25 09:38:14 +08:00
@woodensail 我不懂 swift,所以没看你的代码。那状态机的作用就是在状态发生变化的时候,抛回调出去,是这样吗?
woodensail
2020-08-25 09:39:45 +08:00
@fffang @错人了,我不是楼主,我只是告诉你状态机这个东西一般用来处理什么业务而已。
posthoc
2020-08-25 11:40:31 +08:00
@fffang 状态机会自动改变状态。当一个定义动作被触发时,状态机会调用我们自定义的处理状态变化的函数,然后根据实际情况改变状态。第一个库 YLRefreshKit 正是应用了状态机才实现了聚合并自动化刷新操作的功能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX