- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个非常典型的场景,但我想知道最好的方法是什么。
假设我需要构建一个与 REST API 交互的应用程序。来自网络服务器的数据随后会以多种方式显示在整个应用程序中。
通常我处理这个问题的方式是让一个单例处理所有数据操作(从服务器获取/存储到服务器并将数据保存在内存中。然后当我想在 TableView 中显示这些数据时,例如,我会直接在数据源方法中访问这个单例。例如 [[MyApi sharedInstance] arrayOfCustomObjects];
所以基本上,只要应用的某些部分需要访问数据,它就会通过访问单例来实现。
这是解决此问题的好方法吗?还有其他可能更有用的模式吗?
另一种方法是让每个 Controller 保存实例变量来存储它们需要的数据,而不是将数据存储在单例中,然后仅使用单例从服务器获取数据,但自己存储数据。这里的问题是,如果 Controller 过早地被解除,那么这个实例变量就会消失,服务器访问就会被浪费(但这也许是件好事?)。
最后,将持久性融入其中的好策略是什么?我想在网络调用和应用程序的其余部分之间放置 CoreData 会是一个好方法吗?
我想这里真正的问题是管理来自服务器的数据的最佳方法是什么,也许应该持久化?
最佳答案
这个问题有点宽泛,但我可以告诉你我通常是如何工作的。
我通常有一个用于 API 客户端的单例,以这种方式实现
+ (instancetype)sharedAPI {
static dispatch_once_t once;
static id _sharedInstance;
dispatch_once(&once, ^{
_sharedInstance = [[self alloc] init];
});
return _sharedInstance;
}
然后我使用 RestKit
自动将我的 REST 资源映射到 CoreData
实体上。这种方法的美妙之处在于我不必手动处理 CoreData
持久性,但我有 RestKit
在每次 API 请求时为我处理它。
我的 API 客户端所做的只是提供包装 RestKit
API 的有用方法。
例如这是我用于检索当前用户信息的 API
- (void)getCurrentUserWithSuccess:(void (^)(HSUser *))success
failure:(void (^)(NSError *))failure {
NSString * path = [NSString stringWithFormat:HS_API_USER_PATH, [HSUser currentUser].userId;
[[RKObjectManager sharedManager] getObject:nil path:path parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
HSUser * user = [mappingResult firstObject];
if (success) {
success(user);
}
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
if (failure) {
failure(error);
}
}];
}
在我的 Controller 逻辑中我可以调用
[[HSAPI sharedAPI] getCurrentUserWithSuccess:^(HSUser * user) {
//do something
} failure:^(NSError * error) {
//do something else
}];
正如我之前所说的,在这样的 API 调用之后,与当前用户对应的 HSUser 实例会自动持久化。
我觉得绝对方便。
关于iOS web api数据管理(单例?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690931/
推荐使用以下哪种 javascript 数据管理方法? jLinq jOrder 我熟悉 jLinq,但不确定是否使用 jLinq 或 jOrder。更喜欢具有更好 API 的那个。 最佳答案 jLi
我正在用 C# 做一个项目,我遇到了以下问题: 我有一些数据类型的类,例如 Person 类,它保存有关一个人的信息。 另外,我还有一个DataManager类,负责管理我程序中的人员。如果您想添加、
我不太习惯使用 Ajax,因为我刚刚开始使用它。我的问题如下: 管理使用 Ajax 获取的数据的最佳方法是什么? 我有一个脚本,可以从数据库中获取数据并根据用户过滤器和订单条件以不同的方式显示数据。到
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 7 年前。 Improve this ques
我正在为 AngularJS 寻找一个简单的 CRUD 模板系统,该系统动态创建 UI 以通过 REST 管理实体。有没有已经做到这一点的东西或易于调整的模板? 理想情况下,我所要做的就是指定一个 R
我有以下收集政策演变的数据框: Df <- data.frame(Id_policy = c("A_001", "A_002", "A_003","B_001","B_002"),
我正在学习 .NET 中的 Xml 数据处理。我有以下 XML 格式。 book 1 author 1 10.90
我是一名优秀的程序员,十分优秀!