我正在尝试为iOS9.1开发和Action Extension,它应该向Parse查询一些数据。
我在扩展程序中添加,启用并测试了Parse,并且我成功创建了测试对象并检查了当前用户。
我无法在Parse的查询方法中获取代码 [query findObjectsInBackgroundWithBlock:^ 执行。 LLDB只是不断跳过它,所以我真的很茫然。
此代码在容器应用程序中完美执行,所以我有点困惑。
- (void)viewDidLoad
{
[super viewDidLoad];
[Parse enableLocalDatastore];
[Parse enableDataSharingWithApplicationGroupIdentifier:@"group.com.app.slinky"
containingApplication:@"com.app.Slinky"];
[Parse setApplicationId:@"xxxxx"
clientKey:@"xxxxx"];
for (NSExtensionItem *item in self.extensionContext.inputItems) {
for (NSItemProvider *itemProvider in item.attachments) {
if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypePropertyList]) {
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypePropertyList options:nil completionHandler:^(NSDictionary *jsDict, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
NSDictionary *jsPreprocessingResults = jsDict[NSExtensionJavaScriptPreprocessingResultsKey];
NSString *pageTitle = jsPreprocessingResults[@"title"];
NSString *pageURL = jsPreprocessingResults[@"URL"];
if ([pageURL length] > 0) {
self.siteURL.text = pageURL;
self.URLstring = pageURL;
}
if ([pageTitle length] > 0) {
self.siteTitle.text = pageTitle;
}
});
}];
break;
}
}
}
[self queryParse];
}
-(void)queryParse{
PFQuery *query = [self.friendsRelation query];
[query orderByAscending:@"username"];
**[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"%@ %@", error, [error userInfo]);
} else {
self.friends = objects;
[self.tableView reloadData];
}
}];**
}
答案 0 :(得分:0)
从Parse获取对象有一些限制。 Read Here
一个人有获得100个对象的限制,但是从1到1000的任何东西都有一个有效限制。
您必须再次为下一个对象的查询设置限制,并跳过PFQuery的属性。
您必须反复查询,直至达到总计数。
例如 - 如果要获取3000个对象,则必须查询3次,并且计数为1000。
或强>
在[self queryParse];
阻止内召唤dispatch_async(dispatch_get_main_queue(), ^{ });
。
希望这可能会锻炼。
答案 1 :(得分:0)
这只是12小时折射马拉松的结果:-(
当我将queryParse调用移动到自己的方法中时。我失去了
的定义start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -new-instance
基本上发送了一个错误的查询...我不知道为什么它不会返回错误但是我现在可以检查它。
谢谢大家的帮助!