场景: 假设 App 有两个 Tab ,分别为「个人动态」和「我」,如果在「我」中修改了个人信息,如昵称、头像,那么已展示的「个人动态」中也要更新。
问题: 如果仅涉及单个页面,还是很简单的,比如用通知来做。但是如果影响了有多个页面,这样处理起来就会很恶心。所以想请教一下,你们遇到这种情况时,产品是如何设计的,或者技术上是怎么做的,多谢。
![]() | 1 IamJ 2016-11-30 12:03:41 +08:00 iOS 的一个做法是用 [NSUserDefaults standardUserDefaults] 去保存用户的信息到本地,各个 View 的个人信息从这份本地数据里面取 |
![]() | 2 lhtdege 2016-11-30 12:48:42 +08:00 可以使用 EventBus 解决 |
![]() | 3 yhxx 2016-11-30 12:53:36 +08:00 这个不应该是单独存的吗? |
![]() | 4 yhxx 2016-11-30 12:54:14 +08:00 我的意思是个人信息单独存起来,所有需要用的地方都去读这份信息 |
5 KayWong 2016-11-30 13:44:41 +08:00 用 HashTable 保存一份用户的个人信息,在需要展示个人信息的视图用 RC 和数据绑定,以后只更新 HashTable 里的用户信息就可以了,等于一份数据,全局共用,实时更新 |
![]() | 10 IamJ 2016-11-30 16:04:53 +08:00 好吧,一时手快就答了。 iOS 貌似就是 KVO |