LuxChat  2.0
Instant messenger for iOS
PFQuery.h
1 
10 #import <Foundation/Foundation.h>
11 
12 #import <Bolts/BFTask.h>
13 
14 #import <Parse/PFConstants.h>
15 #import <Parse/PFGeoPoint.h>
16 #import <Parse/PFObject.h>
17 #import <Parse/PFUser.h>
18 
19 NS_ASSUME_NONNULL_BEGIN
20 
24 @interface PFQuery<PFGenericObject : PFObject *> : NSObject<NSCopying>
25 
27 #pragma mark - Blocks
28 
30 typedef void (^PFQueryArrayResultBlock)(NSArray<PFGenericObject> *_Nullable objects, NSError * _Nullable error);
31 
33 #pragma mark - Creating a Query for a Class
34 
41 - (instancetype)initWithClassName:(NSString *)className;
42 
50 + (instancetype)queryWithClassName:(NSString *)className;
51 
74 + (instancetype)queryWithClassName:(NSString *)className predicate:(nullable NSPredicate *)predicate;
75 
79 @property (nonatomic, strong) NSString *parseClassName;
80 
82 #pragma mark - Adding Basic Constraints
83 
95 - (instancetype)includeKey:(NSString *)key;
96 
104 - (instancetype)includeKeys:(NSArray<NSString *> *)keys;
105 
115 - (instancetype)selectKeys:(NSArray<NSString *> *)keys;
116 
124 - (instancetype)whereKeyExists:(NSString *)key;
125 
133 - (instancetype)whereKeyDoesNotExist:(NSString *)key;
134 
143 - (instancetype)whereKey:(NSString *)key equalTo:(id)object;
144 
153 - (instancetype)whereKey:(NSString *)key lessThan:(id)object;
154 
164 - (instancetype)whereKey:(NSString *)key lessThanOrEqualTo:(id)object;
165 
175 - (instancetype)whereKey:(NSString *)key greaterThan:(id)object;
176 
186 - (instancetype)whereKey:(NSString *)key greaterThanOrEqualTo:(id)object;
187 
197 - (instancetype)whereKey:(NSString *)key notEqualTo:(id)object;
198 
208 - (instancetype)whereKey:(NSString *)key containedIn:(NSArray *)array;
209 
219 - (instancetype)whereKey:(NSString *)key notContainedIn:(NSArray *)array;
220 
230 - (instancetype)whereKey:(NSString *)key containsAllObjectsInArray:(NSArray *)array;
231 
233 #pragma mark - Adding Location Constraints
234 
248 - (instancetype)whereKey:(NSString *)key nearGeoPoint:(PFGeoPoint *)geopoint;
249 
263 - (instancetype)whereKey:(NSString *)key
264  nearGeoPoint:(PFGeoPoint *)geopoint
265  withinMiles:(double)maxDistance;
266 
280 - (instancetype)whereKey:(NSString *)key
281  nearGeoPoint:(PFGeoPoint *)geopoint
282  withinKilometers:(double)maxDistance;
283 
295 - (instancetype)whereKey:(NSString *)key
296  nearGeoPoint:(PFGeoPoint *)geopoint
297  withinRadians:(double)maxDistance;
298 
309 - (instancetype)whereKey:(NSString *)key withinGeoBoxFromSouthwest:(PFGeoPoint *)southwest toNortheast:(PFGeoPoint *)northeast;
310 
312 #pragma mark - Adding String Constraints
313 
325 - (instancetype)whereKey:(NSString *)key matchesRegex:(NSString *)regex;
326 
340 - (instancetype)whereKey:(NSString *)key
341  matchesRegex:(NSString *)regex
342  modifiers:(nullable NSString *)modifiers;
343 
354 - (instancetype)whereKey:(NSString *)key containsString:(nullable NSString *)substring;
355 
366 - (instancetype)whereKey:(NSString *)key hasPrefix:(nullable NSString *)prefix;
367 
378 - (instancetype)whereKey:(NSString *)key hasSuffix:(nullable NSString *)suffix;
379 
381 #pragma mark - Adding Subqueries
382 
391 + (instancetype)orQueryWithSubqueries:(NSArray<PFQuery *> *)queries;
392 
403 - (instancetype)whereKey:(NSString *)key
404  matchesKey:(NSString *)otherKey
405  inQuery:(PFQuery *)query;
406 
417 - (instancetype)whereKey:(NSString *)key
418  doesNotMatchKey:(NSString *)otherKey
419  inQuery:(PFQuery *)query;
420 
431 - (instancetype)whereKey:(NSString *)key matchesQuery:(PFQuery *)query;
432 
443 - (instancetype)whereKey:(NSString *)key doesNotMatchQuery:(PFQuery *)query;
444 
446 #pragma mark - Sorting
447 
456 - (instancetype)orderByAscending:(NSString *)key;
457 
465 - (instancetype)addAscendingOrder:(NSString *)key;
466 
474 - (instancetype)orderByDescending:(NSString *)key;
475 
483 - (instancetype)addDescendingOrder:(NSString *)key;
484 
494 - (instancetype)orderBySortDescriptor:(NSSortDescriptor *)sortDescriptor;
495 
505 - (instancetype)orderBySortDescriptors:(nullable NSArray<NSSortDescriptor *> *)sortDescriptors;
506 
508 #pragma mark - Getting Objects by ID
509 
521 - (BFTask<PFGenericObject> *)getObjectInBackgroundWithId:(NSString *)objectId;
522 
533 - (void)getObjectInBackgroundWithId:(NSString *)objectId
534  block:(nullable void (^)(PFGenericObject _Nullable object, NSError *_Nullable error))block;
535 
537 #pragma mark - Getting User Objects
538 
543 + (instancetype)queryForUser PARSE_DEPRECATED("Use [PFUser query] instead.");
544 
546 #pragma mark - Getting all Matches for a Query
547 
554 - (BFTask<NSArray<PFGenericObject> *> *)findObjectsInBackground;
555 
562 - (void)findObjectsInBackgroundWithBlock:(nullable PFQueryArrayResultBlock)block;
563 
565 #pragma mark - Getting the First Match in a Query
566 
575 - (BFTask<PFGenericObject> *)getFirstObjectInBackground;
576 
587 - (void)getFirstObjectInBackgroundWithBlock:(nullable void (^)(PFGenericObject _Nullable object, NSError *_Nullable error))block;
588 
590 #pragma mark - Counting the Matches in a Query
591 
598 - (BFTask<NSNumber *> *)countObjectsInBackground;
599 
606 - (void)countObjectsInBackgroundWithBlock:(nullable PFIntegerResultBlock)block;
607 
609 #pragma mark - Cancelling a Query
610 
615 - (void)cancel;
616 
618 #pragma mark - Paginating Results
619 
627 @property (nonatomic, assign) NSInteger limit;
628 
632 @property (nonatomic, assign) NSInteger skip;
633 
635 #pragma mark - Controlling Caching Behavior
636 
647 @property (nonatomic, assign) PFCachePolicy cachePolicy;
648 
652 @property (nonatomic, assign) NSTimeInterval maxCacheAge;
653 
659 @property (nonatomic, assign, readonly) BOOL hasCachedResult;
660 
664 - (void)clearCachedResult;
665 
669 + (void)clearAllCachedResults;
670 
672 #pragma mark - Query Source
673 
684 - (instancetype)fromLocalDatastore;
685 
696 - (instancetype)fromPin;
697 
710 - (instancetype)fromPinWithName:(nullable NSString *)name;
711 
721 - (instancetype)ignoreACLs;
722 
724 #pragma mark - Advanced Settings
725 
732 @property (nonatomic, assign) BOOL trace;
733 
734 @end
735 
736 NS_ASSUME_NONNULL_END
BFTask< NSNumber * > * countObjectsInBackground()
BFTask< NSArray< PFGenericObject > * > * findObjectsInBackground()
Definition: PFObject+Subclass.h:14
PFCachePolicy cachePolicy
Definition: PFQuery.h:647
BOOL trace
Definition: PFQuery.h:732
instancetype fromPin()
"Use [PFUser query] instead." PARSE_DEPRECATED()
void clearCachedResult()
NSString * parseClassName
Definition: PFQuery.h:79
void cancel()
instancetype fromLocalDatastore()
BFTask< PFGenericObject > * getFirstObjectInBackground()
Definition: PFObject.h:32
NSInteger limit
Definition: PFQuery.h:627
NSInteger skip
Definition: PFQuery.h:632
Definition: PFImageView.h:32
Definition: PFGeoPoint.h:25
void clearAllCachedResults()
BOOL hasCachedResult
Definition: PFQuery.h:659
NSTimeInterval maxCacheAge
Definition: PFQuery.h:652
instancetype ignoreACLs()