When you create a new class in Parse, you control the name of that class. For example, let's say you create a new class called "Armor".
When you create a subclass in Objective-C, you assign the created Objective-C class to the Parse class. The following is the implementation code for this Armor subclass. As you can see, the name of the Objective-C class is "Armor", and the name of the Parse class is also "Armor".
In this case, the Objective-C class name and Parse class name are the same. However, this should not be. If I changed the name of my Objective-C class to "BrandonsAwesomeClass", it could still be assigned to the class "Armor". If I were to create a new instance of BrandonsAwesomeClass, it would still return the Parse class type βArmorβ
In your case, the Parse User class is always called "_User". You cannot change this name, and it does not matter what the name of your Objective-C subclass is, it will always return PFUser as a class.
This does not have a big impact on your code or your project, because you can add additional properties to the Parse "_User" class through the website and add @dynamic properties to your Objective-C subclass.
As long as you have correctly configured your subclass [MyUser currentUser] .avatar is the same as accessing the object [[PFUser currentUser] objectForKey: @ "avatar"]
I contacted a Parse blog post explaining subclasses for reference.
http://blog.parse.com/2013/03/22/stay-classy-objective-c-introducing-native-subclasses-for-parse-objects/
Brandon schlenker
source share