Ich versuche, ein Singleton zur Verwaltung NSURLSession Anfrage zu implementieren. Hier ist mein Code:NSURLSession Mitglied Referenztyp Struct Objc_class ist ein Zeiger
Header-Datei:
@interface httpRequest : NSObject
@property (strong,nonatomic) NSURLSession *session;
+(httpRequest*)request;
Implementierungsdatei (.m):
+(httpRequest*)request
{
static httpRequest *shareObject = nil;
static dispatch_once_t onceToken;
dispatch_once (&onceToken, ^{
shareObject = [[self alloc] init];
self.session = [NSURLSession sharedSession];
});
return shareObject;
}
Aber in dieser Zeile:
self.session = [NSURLSession sharedSession];
Ich erhalte diese Fehler: "NSURLSession-Member-Referenztyp struct objc_class ist ein Zeiger, den Sie verwenden möchten ->"
Warum bekomme ich Fehler ?, jeder von euch kennt einen Weg um dies?
völlig unabhängig, könnte man folgende Cocoa Namenskonventionen berücksichtigen, wobei Klassennamen beginnen mit einem Großbuchstaben (zB 'HTTPRequest' oder' HttpRequest'). Es ist nur eine Konvention, aber es macht den Code ein wenig leichter zu lesen. Und, noch weiter entfernend, bin ich mir nicht sicher, ob ich 'Request' im Namen überhaupt verwenden würde, weil" request "normalerweise mit einer bestimmten' NSURLSessionTask' (einer bestimmten Anfrage von einem Web-Service) verbunden ist, nicht mit der 'NSURSession' selbst. Ich könnte es daher "HTTPManager" oder etwas ähnliches nennen, um die Namenskonflikte bei der Anfrage/Sitzung zu vermeiden ... – Rob