PFSubclassing

@protocol PFSubclassing <NSObject>

If a subclass of PFObject conforms to PFSubclassing and calls PFObject.+registerSubclass, Parse framework will be able to use that class as the native class for a Parse cloud object.

Classes conforming to this protocol should subclass PFObject and include PFObject+Subclass.h in their implementation file. This ensures the methods in the Subclass category of PFObject are exposed in its subclasses only.

  • The name of the class as seen in the REST API.

    Declaration

    Objective-C

    + (nonnull NSString *)parseClassName;
  • Constructs an object of the most specific class known to implement +parseClassName.

    This method takes care to help PFObject subclasses be subclassed themselves. For example, PFUser.+object returns a PFUser by default but will return an object of a registered subclass instead if one is known. A default implementation is provided by PFObject which should always be sufficient.

    Declaration

    Objective-C

    + (nonnull instancetype)object;

    Return Value

    Returns the object that is instantiated.

  • Creates a reference to an existing PFObject for use in creating associations between PFObjects.

    Calling PFObject.dataAvailable on this object will return NO until PFObject.-fetchIfNeeded has been called. No network request will be made. A default implementation is provided by PFObject which should always be sufficient.

    Declaration

    Objective-C

    + (nonnull instancetype)objectWithoutDataWithObjectId:
            (nullable NSString *)objectId;

    Parameters

    objectId

    The object id for the referenced object.

    Return Value

    A new PFObject without data.

  • Create a query which returns objects of this type.

    A default implementation is provided by PFObject which should always be sufficient.

    Declaration

    Objective-C

    + (nullable PFQuery *)query;
  • Returns a query for objects of this type with a given predicate.

    A default implementation is provided by PFObject which should always be sufficient.

    See

    [PFQuery queryWithClassName:predicate:]

    Declaration

    Objective-C

    + (nullable PFQuery *)queryWithPredicate:(nullable NSPredicate *)predicate;

    Parameters

    predicate

    The predicate to create conditions from.

    Return Value

    An instance of PFQuery.

  • Lets Parse know this class should be used to instantiate all objects with class type parseClassName.

    Warning

    This method must be called before Parse.+setApplicationId:clientKey:.

    Declaration

    Objective-C

    + (void)registerSubclass;