我試圖實現一個單例來管理NSURLSession請求。這裏是我的代碼:NSURLSession成員引用類型struct objc_class是一個指針
頭文件
@interface httpRequest : NSObject
@property (strong,nonatomic) NSURLSession *session;
+(httpRequest*)request;
實現文件(.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;
}
但在這行:
self.session = [NSURLSession sharedSession];
我得到這個錯誤:「NSURLSession成員引用類型struct objc_class是一個指針,你的意思是使用 - >」
完全無關,你可以考慮以下可可命名約定,其中類名以大寫字母開頭(例如'HTTPRequest'或'HttpRequest')。這僅僅是一個約定,但它使代碼更容易閱讀。而且,即使在更遠的地方,我也不確定我會在名稱中使用「Request」,因爲「request」通常與特定的「NSURLSessionTask」(來自Web服務的特定請求)相關聯,而不是'NSURLSession'本身。因此,我可能將其命名爲'HTTPManager'或類似的名稱以避免請求/會話命名混淆...... – Rob