App 中修改个人信息后,如何在其他已展示页面中更新,比如动态

2016 年 11 月 30 日
 zsk425

场景: 假设 App 有两个 Tab ,分别为「个人动态」和「我」,如果在「我」中修改了个人信息,如昵称、头像,那么已展示的「个人动态」中也要更新。

问题: 如果仅涉及单个页面,还是很简单的,比如用通知来做。但是如果影响了有多个页面,这样处理起来就会很恶心。所以想请教一下,你们遇到这种情况时,产品是如何设计的,或者技术上是怎么做的,多谢。

3687 次点击
所在节点    问与答
10 条回复
IamJ
2016 年 11 月 30 日
iOS 的一个做法是用 [NSUserDefaults standardUserDefaults] 去保存用户的信息到本地,各个 View 的个人信息从这份本地数据里面取
lhtdege
2016 年 11 月 30 日
可以使用 EventBus 解决
yhxx
2016 年 11 月 30 日
这个不应该是单独存的吗?
yhxx
2016 年 11 月 30 日
我的意思是个人信息单独存起来,所有需要用的地方都去读这份信息
KayWong
2016 年 11 月 30 日
用 HashTable 保存一份用户的个人信息,在需要展示个人信息的视图用 RC 和数据绑定,以后只更新 HashTable 里的用户信息就可以了,等于一份数据,全局共用,实时更新
zsk425
2016 年 11 月 30 日
@IamJ 谢谢回答,不过您显然没有看懂我的问题。
zsk425
2016 年 11 月 30 日
@lhtdege 确实,这就是通知的方式
zsk425
2016 年 11 月 30 日
@yhxx 是单独存的。我的意思是修改了用户信息后,其他页面如何刷新
zsk425
2016 年 11 月 30 日
@KayWong 谢谢,这种方式确实可以解决问题。
IamJ
2016 年 11 月 30 日
好吧,一时手快就答了。 iOS 貌似就是 KVO

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

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

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

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

© 2021 V2EX