假设您在 Core Data 中为外卖餐厅建模。每个都Restaurant
应该有一个phoneNumber
属性,但它会根据用户的街道地址而有所不同。不过不用担心,有一个 REST API 可以帮助您将街道地址和餐厅 ID 转换为电话号码。
我想对联系 REST API 的phoneNumber
属性进行建模Restaurants
:
- 仅在需要时(即
phoneNumber
访问属性时) - 尽可能不频繁
我正在考虑的策略是这样的:
phoneNumberLoaded
在餐厅上提供符合 KVO 的布尔值- 在卸载状态下
nil
访问时返回phoneNumber
- 开始异步加载
phoneNumber
属性:- 第一次访问
- 当用户调用
preloadPhoneNumber
方法时
- 维护一个代表 API 接收预加载请求的队列,将它们分批处理
- 在 API 调用返回时更新
phoneNumber
,设置phoneNumberLoaded
为YES
我应该开始工作,还是有人有更好的策略?