More Related Content Similar to Parse.com (20) More from John Tubert (8) Parse.com3. How to get started
1. Create free account
2. Download SDK or blank xcode project
3. Start coding
4. How to really get started
1. Add framework to project
2. Add import statement to prefix file
a. #import <Parse/Parse.h>
3. Initialize parse on delegate file
a. [Parse setApplicationId:@"" clientKey:@""];
4. Add code to read or write to parse.com
6. Write
PFObject *addressObject = [PFObject objectWithClassName:@"Addresses"];
[addressObject setObject:@"John Tubert" forKey:@"name"];
[addressObject setObject:@"350 west 39th Street" forKey:@"Address"];
[addressObject setObject:@"New York" forKey:@"City"];
[addressObject setObject:@"NY" forKey:@"State"];
[addressObject setObject:@"10018" forKey:@"Zip"];
[addressObject save];
7. Count
PFQuery *queryPhotoCount = [PFQuery queryWithClassName:@"Photo"];
[queryPhotoCount whereKey:kPAPPhotoUserKey equalTo:[PFUser
currentUser]];
[queryPhotoCount setCachePolicy:kPFCachePolicyCacheThenNetwork];
[queryPhotoCount countObjectsInBackgroundWithBlock:^(int number,
NSError *error) {
if (!error) {
NSLog(@"count: %i",number);
}
}];
8. Read
PFQuery *query = [PFQuery queryWithClassName:@"Addresses"];
[query setCachePolicy:kPFCachePolicyCacheThenNetwork];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError
*error) {
if (error) {
NSLog(@"error %@",error);
}else{
NSLog(@"objects %@",objects);
}
}];
9. Read (with constraints)
PFQuery *query = [PFQuery queryWithClassName:@"Addresses"];
[query whereKey:@"name" containsString:@"John"];
[query setCachePolicy:kPFCachePolicyCacheThenNetwork];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError
*error) {
if (error) {
NSLog(@"error %@",error);
}else{
NSLog(@"objects %@",objects);
}
}];
10. More constraints
Basic Constraints
- (void)includeKey:(NSString *)key;
- (void)whereKeyExists:(NSString *)key;
- (void)whereKeyDoesNotExist:(NSString *)key;
- (void)whereKey:(NSString *)key equalTo:(id)object;
- (void)whereKey:(NSString *)key lessThan:(id)object;
- (void)whereKey:(NSString *)key lessThanOrEqualTo:(id)object;
- (void)whereKey:(NSString *)key greaterThan:(id)object;
- (void)whereKey:(NSString *)key greaterThanOrEqualTo:(id)object;
- (void)whereKey:(NSString *)key notEqualTo:(id)object;
- (void)whereKey:(NSString *)key containedIn:(NSArray *)array;
- (void)whereKey:(NSString *)key notContainedIn:(NSArray *)array;
Location Constraints
- (void)whereKey:(NSString *)key nearGeoPoint:(PFGeoPoint *)geopoint;
- (void)whereKey:(NSString *)key nearGeoPoint:(PFGeoPoint *)geopoint withinMiles:(double)maxDistance;
- (void)whereKey:(NSString *)key nearGeoPoint:(PFGeoPoint *)geopoint withinKilometers:(double)maxDistance;
- (void)whereKey:(NSString *)key nearGeoPoint:(PFGeoPoint *)geopoint withinRadians:(double)maxDistance;
- (void)whereKey:(NSString *)key withinGeoBoxFromSouthwest:(PFGeoPoint *)southwest toNortheast:(PFGeoPoint *)
northeast;
String Constraints
- (void)whereKey:(NSString *)key matchesRegex:(NSString *)regex;
- (void)whereKey:(NSString *)key matchesRegex:(NSString *)regex modifiers:(NSString *)modifiers;
- (void)whereKey:(NSString *)key containsString:(NSString *)substring;
- (void)whereKey:(NSString *)key hasPrefix:(NSString *)prefix;
- (void)whereKey:(NSString *)key hasSuffix:(NSString *)suffix;
11. Saving photos
PFObject *photo = [PFObject objectWithClassName:kPAPPhotoClassKey];
[photo setObject:[PFUser currentUser] forKey:kPAPPhotoUserKey];
[photo setObject:self.photoFile forKey:kPAPPhotoPictureKey];
[photo setObject:self.thumbnailFile forKey:kPAPPhotoThumbnailKey];
[photo save];
14. Server side methods
(AKA: cloud code)
Parse.Cloud.define("hello", function(request, response) {
response.success("Hello Parse world!");
});
15. Getting started: Cloud code
Install the command line tool:
curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash
Create new project:
$ parse new MyCloudCode
Write functions:
Parse.Cloud.define("hello", function(request, response) {
response.success("Hello world!");
});
Deploy code:
$ parse deploy
Call methods from app:
[PFCloud callFunctionInBackground:@"hello" withParameters:@{} block:^(NSString *result, NSError
*error) {
if (!error) {
// result is @"Hello world!"
NSLog(@"%@",result);
}
}];