Ios 在单例初始化期间尝试发送异步get请求时发生异常
这是我的密码:Ios 在单例初始化期间尝试发送异步get请求时发生异常,ios,objective-c,singleton,nsjsonserialization,Ios,Objective C,Singleton,Nsjsonserialization,这是我的密码: + (instancetype)sharedInstance { static PanoramaDataManager *sharedInstance = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ sharedInstance = [[PanoramaDataManager alloc] init]; [NSURLConne
+ (instancetype)sharedInstance
{
static PanoramaDataManager *sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[PanoramaDataManager alloc] init];
[NSURLConnection sendAsynchronousRequest:[sharedInstance requestToService:kPanoramaAPIGetToken withParams:@{@"login" : kPanoramaAPILogin, @"password" : kPanoramaAPIPassword}] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (!connectionError) {
NSError *error;
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
if (!error) {
sharedInstance.token = [jsonResponse objectForKey:@"token"];
} else {
[BxAlertView showError:error.description];
}
} else {
[BxAlertView showError:connectionError.description];
}
}];
});
return [sharedInstance autorelease];
}
我只想将请求发送到服务器,以便在单例初始化期间接收所有rest请求的令牌。但是我在尝试设置属性的行中有一个异常,即访问错误。如果我试图写NSError*error=nil;应用程序已停止,但访问错误除外。有什么帮助吗?在返回时删除自动释放
如果您释放一个静态变量,您将丢失用指针处理的值。删除该自动释放您刚刚从@Midhun MP复制了注释。你能解释一下,这将如何去除自动释放。最好在答案中添加一个解释。@pawan Nope看看我之前说过的时间戳如果释放一个静态变量,您将丢失用指针寻址的值。