Hello, iam develooing an Dating App like baddo with Parse and i want to store data to be accesible offline (Users find near you, Messages list e Conversations) 1. How to activate in AppDelegate and in ViewsControllers? 2. Give me and simple exemple with my own code if possible. Thanks
Messages list viewController
PFQuery *messageQueryFrom = [MessageParse query];
[messageQueryFrom whereKey:@"fromUserParse" equalTo:[UserParseHelper currentUser]];
PFQuery *messageQueryTo = [MessageParse query];
[messageQueryTo whereKey:@"toUserParse" equalTo:[UserParseHelper currentUser]];
PFQuery *both = [PFQuery orQueryWithSubqueries:@[messageQueryFrom, messageQueryTo]];
[both orderByDescending:@"createdAt"];
[both findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
Conversation Viewcontroller
(void)getMessages
PFQuery *query1 = [MessageParse query];
[query1 whereKey:@"fromUserParse" equalTo:[PFUser currentUser]];
[query1 whereKey:@"toUserParse" equalTo:self.toUserParse];
[query1 whereKey:@"text" notEqualTo:@""];
PFQuery *query2 = [MessageParse query];
[query2 whereKey:@"fromUserParse" equalTo:self.toUserParse];
[query2 whereKey:@"toUserParse" equalTo:[PFUser currentUser]];
[query2 whereKey:@"text" notEqualTo:@""];
PFQuery *orQUery = [PFQuery orQueryWithSubqueries:@[query1, query2]];
[orQUery orderByAscending:@"createdAt"];
[orQUery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
self.messages = [objects mutableCopy];
[self.collectionView reloadData];
[self scrollCollectionView];
for (MessageParse *message in objects) {
message.read = YES;
[message saveInBackground];
}
}];
User near viewcontroller
(void)queryParseMethod {NSLog(@"start query");
PFQuery *query = [UserParseHelper query];
[query whereKey:@"username" notEqualTo:self.mainUser.username];
PFGeoPoint *userGeoPoint = self.mainUser.geoPoint;
[query whereKey:@"geoPoint" nearGeoPoint:userGeoPoint];
if (self.segmentedControl.selectedSegmentIndex == 0) {
[query whereKey:@"isMale" equalTo:@"true"];
}
if (self.segmentedControl.selectedSegmentIndex== 1) {
[query whereKey:@"isMale" equalTo:@"false"];
}
PFUser *chekUser = [PFUser currentUser];
NSString *vip = chekUser[@"membervip"];
if ([vip isEqualToString:@"vip"]) {
NSLog(@"Unlim - vip member");
self.upgradeVip.hidden = YES;
} else{
NSLog(@"No Unlim - no vip member");
// query.limit = limitQueruNoVipUser;
self.upgradeVip.hidden = NO;
}
[query whereKey:@"geoPoint" nearGeoPoint:self.mainUser.geoPoint withinKilometers:self.mainUser.distance.doubleValue];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
imageFilesArray = [[NSArray alloc] initWithArray:objects];
[_imagesCollection reloadData];
[_imagesCollection performBatchUpdates:nil completion:nil];
}
}];
}
via
Chebli Mohamed