Wenn Sie eine neue Klasse in Parse erstellen, steuern Sie den Namen dieser Klasse. Angenommen, Sie erstellen eine neue Klasse mit dem Namen "Armor".
Wenn Sie eine Unterklasse in Objective-C erstellen, weisen Sie die erstellte Objective-C-Klasse der Parse-Klasse zu. Der folgende Code ist die Implementierungsdatei für diese Armor-Unterklasse. Wie Sie sehen können, ist der Objective-C-Klassenname "Armor" und der Parse-Klassenname ist auch "Armor".
#import "Armor.h"
#import <Parse/PFObject+Subclass.h>
@implementation Armor
@dynamic displayName;
@dynamic rupees;
@dynamic fireproof;
+ (NSString *)parseClassName {
return @"Armor";
}
@end
In diesem Fall sind der Objective-C-Klassenname und der Parse-Klassenname identisch. Dies muss jedoch nicht der Fall sein. Wenn ich den Namen meiner Objective-C-Klasse in "BrandonsAwesomeClass" ändern würde, könnte dies immer noch der Parse "Armor" -Klasse zugeordnet werden. Wenn ich eine neue Instanz von BrandonsAwesomeClass zu schaffen wäre, würde es immer noch den Parse-Klasse Typs „Rüstung“ Rückkehr
#import "BrandonsAwesomeClass.h"
#import <Parse/PFObject+Subclass.h>
@implementation BrandonsAwesomeClass
@dynamic displayName;
@dynamic rupees;
@dynamic fireproof;
+ (NSString *)parseClassName {
return @"Armor";
}
@end
In Ihrem Fall wird die Parse User-Klasse immer den Namen „_User“ Sie diesen Namen nicht ändern können und Es spielt keine Rolle, was der Name Ihrer Objective-C-Unterklasse ist, es wird immer PFUser als Klasse zurückgeben.
Dies hat nicht wirklich Auswirkungen auf Ihren Code oder Ihr Projekt, da Sie der Parse "_User" -Klasse über die Website weiterhin benutzerdefinierte Eigenschaften hinzufügen und der Objective-C-Unterklasse die @dynamic-Eigenschaften hinzufügen können.
Solange Sie Ihre Unterklasse richtig eingestellt [MyUser current] .avatar ist die gleiche wie den Zugriff auf [[PFUser current] objectForKey: @ „Avatar“]
ich dem Parse Blogeintrag verknüpft haben erklärt, Unterklassen als Referenz.
http://blog.parse.com/2013/03/22/stay-classy-objective-c-introducing-native-subclasses-for-parse-objects/
Was ist der Rest Ihrer Implementierung? Rufen Sie 'registerSubclass' an? – Wain
Ich rufe 'registerSubclass' im App-Delegaten auf.Der Rest der Implementierung ist nicht wirklich wichtig, wenn ich nicht den richtigen Typ zurückbekomme. – tghw
Setzen Sie parseClassName? Wenn ja, solltest du nicht. – Moonwalkr