- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好
我正在开发一个 CoreData 驱动的应用程序,该应用程序以我从 StackMob 填充的空 CoreData 存储开始申请。
我有一个 UITableView 的子类,它可以按我想要的方式获取和显示我的数据,但我对何时最好从 StackMob 获取初始数据感到有点困惑。当我在 applicationDidFinishLaunching 中触发填充我的 CoreData 存储(从一个小的 plist 文件并且仅用于测试 View )时,我的应用程序花了很长时间显示默认屏幕,我预计从网络获取的真实数据会更长。我正在考虑在我的 UITableView 子类上更改此方法...
- (NSFetchedResultsController *)frc
{
if (_frc) return _frc;
...
return _frc;
}
为了...
- (NSFetchedResultsController *)frc
{
if (_frc) return _frc;
...
if ([[_frc fetchedObjects] count] == 0) {
// Spawn NSOperation to get initial data from StackMob.
// & use it to populate my CoreData store.
}
return _frc;
}
在这种情况下,我会将 NSOperation 设为一个子类,我可以将其重新用于后续的数据更新。我正在检查 [[_frc fetchedObjects] count] == 0
因为我正在从实体中获取所有数据。
是一个好的方法吗?如果不是,什么是更好的方法?
我希望能提供一种用户体验,就像我在我使用的一些应用程序中看到的那样,当项目被下载并添加到 CoreData 存储时,它们会出现在“主”屏幕上。
干杯 & TIA,佩德罗 :)
最佳答案
首先,创建一个 NSPredicate 以从 Core Data 中获取您的信息(假设它是一个 NSSet,在本例中):
NSMutableSet yourMutableDataSetYouGotFromCoreData = [self.yourCoreDataObject mutableSetValueForKey:@"yourCoreDataSetData"];
NSPredicate *yourDataFilter = [NSPredicate predicateWithFormat:@"SELF IN %@",yourMutableDataSetYouGotFromCoreData];
接下来,使用谓词创建您的 fetche 结果 Controller
// Fetched results controller
NSFetchedResultsController *yourFetchedResults = [YOURCOREDATAOBJECT fetchRequestAllGroupedBy:nil
withPredicate:supplyRegisterFilter];
接下来,将此信息提供给您的表格
[self.yourTable updateTableData:yourFetchedResults];
现在,在您的表中,您创建单元格数据内容的地方 - 使用类似这样的东西从您的获取结果 Controller 中获取数据
-(void) updateTableData:(NSFetchedResultsController*)fetched
{
self.fetchedResultsController = fetched;
if(self.fetchedResultsController)
[self.tableView reloadData];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.fetchedResultsController.fetchedObjects count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
YourCustomCellType *cell = (YourCustomCellType *) [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell)
{
NSArray *topLevelItems = [cellLoader instantiateWithOwner:self options:nil];
cell = [topLevelItems objectAtIndex:0];
}
[self configureCellData atIndexPath:indexPath];
return cell;
}
- (void) configureCellData:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
YourCustomCellType *customCell = (YourCustomCellType *)cell;
id obj = [[fetchedResultsController fetchedObjects] objectAtIndex:indexPath.row];
[customCell setCellDataFromId:obj];
}
关于iphone - 何时触发将 StackMob 初始数据下载到 CoreData 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248028/
我正在尝试完成此处找到的自定义代码的 StackMob hello_world 教程: https://www.stackmob.com/devcenter/docs/Getting-Started:
我在 android 项目中使用 stackmob API,似乎在成功完成时不会调用回调。我需要正常工作的功能是登录功能。我有以下从 onClick 处理程序调用的函数: private vo
我正在尝试执行获取请求以返回“锻炼”用户对象。 我将在多个 Controller 中需要此方法,因此我已将其移至它自己的类中。但是,当我将以下方法从 Controller 移动到另一个类时 onSuc
我也一直在搜索 Apple 的 Predicate Programming Guide 和 SO,试图确定为特定获取请求编写谓词的正确方法。 请求似乎没有遵守我尝试使用点符号来遍历关系的方式。 NSE
我有 2 个表 Assets 和 Rewards 是相关的 Assets 奖励,关系名称为assetrewards,当我同样尝试访问奖励表字段时 NSFetchRequest *request = [
我正在尝试查找位置,但返回的是一个空数组。它成功了,但没有得到任何返回。在对象浏览器中,我可以说“位置”中有值。我使用当前位置保存了多个位置。这行得通吗? - (void)geoQuery {
我使用 stackmob 已经几天了,它仍然是新的,网络上没有太多信息。我遇到了这个问题:我不会获取我的 stackmobe“db”中所有商店名称的列表,该方案称为商店,这是我正在使用的代码: var
我已经开始使用 Stackmob。我按照提供的说明将 stackmob 添加到我的项目,然后关闭所有添加的文件上的 ARC,然后我收到链接器错误。 “clang: error: linker comm
我一整天都在试图解决这个问题。我有一个来自 stackMob 的查询列表,它应该为我提供我认为在列表中创建的最新 10 个对象。我真的不明白这个东西是如何工作的。我用 ListView 做了一个布局,
我有一个按钮,其代码如下: public void buttonRegister(View view){ EditText etUsername = (EditText) findViewBy
我正在尝试向我的 map 添加标记,坐标和名称包含在我通过对 stackmob 数据库的查询获得的停止对象中,程序运行良好,显示 map ,但由于某种原因它看起来它没有执行 addmarker 指令,
我已经开始使用 StackMob 将 Facebook 集成到我的应用程序中。我一直在尝试使用 StackMob 的离线同步,但它似乎无法正常工作。 在 didFinishLaunchingWithO
我正在布置基本结构并开始创建模型。问题是模型中丢失了对初始化 Stackmob 的引用。 main.js require(['modernizr','jquery','backbone', 'unde
您建议使用什么作为仅需要允许登录、保存一些用户数据并发送通知的 PhoneGap 应用程序的后端? 最佳答案 我是 StackMob 的平台传播者。 您可以在 PhoneGap 上运行东西。我们很快就
我正在布置基本结构并开始创建模型。问题是模型中丢失了对初始化 Stackmob 的引用。 main.js require(['modernizr','jquery','backbone', 'unde
我是 javascript 和 stackmob 的初学者。如何使用 javascript 从 stackmob 为我的网页(仪表板)获取数据?我也尝试更新数据,但没有成功。 这是我将“完成”的值从“
大家好 我正在开发一个 CoreData 驱动的应用程序,该应用程序以我从 StackMob 填充的空 CoreData 存储开始申请。 我有一个 UITableView 的子类,它可以按我想要的方式
我正在开发一个具有登录和注册表单的 Android/iOS 应用程序。 实际上,我正在使用 JSON 在 MySql 服务器中存储电子邮件和加密密码以及其他用户信息。但我发现了一个(Android 问
我发现用户有一个 sm_owner 字段。但是我如何让用户使用 sm_owner.我的代码是这样的: [self.client getLoggedInUserOnSuccess:^(NSDic
我开始使用 stackmob 进行 Android 开发。我遇到了一个问题。确实在创建了用户登录的界面后,我想让我的主页在其顶部提示实际登录的用户名。 所以我使用 getloggedInUser (C
我是一名优秀的程序员,十分优秀!