这是我的代码:
+ (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];
}
我想做的只是将请求发送到服务器,以便在单例初始化期间接收所有其余请求的令牌。但我在尝试设置属性的行中有一个例外的错误访问。如果我尝试编写NSError *error = nil;
,则应用程序将停止,但访问权限不正确。有什么帮助吗?
答案 0 :(得分:2)
在返回处删除自动释放;
如果释放静态var,则会丢失使用指针解决的值。