Skip to content

PFUser subclasses are never unboxed #5

Open

Description

@hokster7

This is due to the fact that

  • PFUser objects are subclasses of PFObject
  • unboxing logic checks for PFObject (which catches both PFObjects and PFUsers) before testing for PFUser.
   ..
    // Lastly, if this class is a PFObject or PFUser and it is registered, instantiate the appropriate ParseModel...
    else if ([object isKindOfClass:[PFObject class]]) {
        // *** PFUser FALLS IN TO THIS CASE
        NSString *unboxedClassString = (self.registeredParseModels)[[(PFObject *) object parseClassName]];
        if (unboxedClassString.length) {
            unboxedObject = [(ParseModel *) [NSClassFromString(unboxedClassString) alloc] initWithParseObject:object];
        }
    }
    else if ([object isKindOfClass:[PFUser class]]) {
        // *** CODE NEVER GETS HERE
        NSString *unboxedClassString = (self.registeredParseUsers)[[(PFUser *) object parseClassName]];
        if (unboxedClassString.length) {
            unboxedObject = [(ParseModelUser *) [NSClassFromString(unboxedClassString) alloc] initWithParseUser:object];
        }
    }

This means the latter branch will never be reached. They need to be reversed.

Activity

  1. changed the title [-]PFUser subclasses are not unboxed properly.[/-] [+]PFUser subclasses are never unboxed[/+] on Sep 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions