在解析sdk ios中数据发生更改时通知

时间:2014-11-21 14:57:06

标签: ios objective-c iphone parse-platform

我打电话给我们all user list来自class userlist parse sdk ios

PFQuery *query = [PFQuery queryWithClassName:@"userlist"];
[query orderByAscending:kUserID];

query.cachePolicy = kPFCachePolicyNetworkElseCache;

[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
{
    if (!error)
    {
        for (PFObject *object in objects)
        {
            NSDictionary *dictUser = [NSDictionary dictionaryWithObjectsAndKeys:[object valueForKey:kUserName],kUserName,[object valueForKey:kUserID],kUserID,[object valueForKey:kUserImage],kUserImage,nil];
            //NSLog(@"%@",dictUser);
            [mutArrUserList addObject:dictUser];
        }
    }
    else
    {
        NSLog(@"Error while getting data");
    }

    //NSLog(@"\nArray - %@",mutArrUserList);
    [tblViewList reloadData];
}];

我的问题是,当class userlist中的数据发生变化时,解析sdk ios如何通知?

替代解决方案是,我必须不断打电话自己检查这些更改已经完成以通知用户!!!!!!

2 个答案:

答案 0 :(得分:0)

您可以使用委托模式执行此操作:

创建这样的协议:

@protocol myDelegate
@optional -(void)myCustomAction;
@end

有这样的属性:

@property (nonatomic, strong) id<myDelegate> delegate;

之后你在完成块中调用了委托方法,如下所示:

[delegate myCustomAction];

然后,您需要在另一个类中实现该协议,就像使用UITableViewDelegate一样。 希望它有所帮助。

答案 1 :(得分:0)

如果您在解析中询问可以通知应用程序服务器上的某些内容已更新,则答案为否。检查新数据是你的工作。如果您不想多次检查数据,那么您需要将NSDate属性添加到解析对象,并且当您想要更新数据时,请检查日期是否足够大以进行更新。每次从服务器更新日期时,也会将此日期更新为当前日期。

还可以选择通过静音推送通知通知您的应用,但不建议使用。

或者,如果您的问题是如何获取有关ios app内部数据更改的通知,则代表是正确的方法。如果您对此问题更具体,我会添加更多代码。请再解释一下。