非常感谢任何帮助!我现在已经试图解决这个问题了一段时间,但我发现的任何东西都无法帮助我。我有一个带有表视图的视图控制器,它可以很好地处理静态数据。但是我喜欢这个视图表来显示我自定义的解析类中的一些用户信息。因此,对于每个对象,我想要检索一个字符串,该字符串将对象名字与其分数和等级连接起来。 所以我的目标是拥有一个字符串数组的最终产品,并让它的每个索引都是我的解析类中的不同对象。我希望这是有道理的! 谢谢你的帮助!
答案 0 :(得分:1)
我可以向你展示我已完成的类似内容。我想你想显示一个UITableView
并用解析对象填充它。
我使用自定义PFObject但你应该没问题。我所做的所有调用都是同步的,但您可以使用findObjectsInBackground
来调整这些调用以实现异步。
我通过以下方式从解析中获取数据:
- (NSSet *)clubs
{
NSMutableSet *clubs = [[NSMutableSet alloc] initWithCapacity:1];
PFQuery *clubsQuery = [[[TSPlayer currentUser] teams] query];
clubsQuery.cachePolicy = kPFCachePolicyNetworkElseCache;
[clubsQuery includeKey:@"club"];
[[clubsQuery findObjects] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[clubs addObject:[obj objectForKey:@"club"]];
}];
return clubs;
}
然后我将结果分配给一个可以填充datasource
clubsCollectionViewDataSource = [[[TSPlayer currentUser] clubs] allObjects];
我做了一个辅助函数,你不必:
- (TSClub *)clubForItemAtIndexPath:(NSIndexPath *)indexPath
{
return [clubsCollectionViewDataSource objectAtIndex:indexPath.item];
}
设置数据源:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [clubsCollectionViewDataSource count];
}
制作你的手机:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TeamCell" forIndexPath:indexPath];
TSClub *club = [self clubForItemAtIndexPath:indexPath];
cell.textLabel.text = club.shortname;
cell.detailTextLabel.text = club.chairman;
return cell;
}
我希望这会引导你朝着正确的方向前进。
答案 1 :(得分:0)
这是一个从Parse获取自定义对象数组的示例(在Swift中):
func fetchPosts(user: PFUser, completionBlock: ObjectsCompletionBlock?) -> Void
{
if user == nil
{
completionBlock?(objects: nil, error: NSError.parameterError())
return
}
var query = PFQuery(className: PostClass)
query.whereKey(UserKey, equalTo: PFUser.currentUser())
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error
{
println("Error fetching user posts: \(error)")
completionBlock?(objects: nil, error: error)
}
else
{
println("Success fetching user posts!")
completionBlock?(objects: objects, error: nil)
}
}
}