【发布时间】:2023-03-20 00:45:01
【问题描述】:
我有以下代码:
+ (NSDictionary*) JSONRequest: (NSString*)query andWithCredentials:(BOOL)withCredentials
{
if (withCredentials)
{
NSString *username = [LoginHandler GetUsernameFromNSDefaults];
NSString *password = [LoginHandler GetPasswordFromNSDefaults];
NSString *additionalQuery = [NSString stringWithFormat:@"login_username=%@&login_password=%@", username, password];
query = [NSString stringWithFormat:@"%@&%@", query, additionalQuery];
[username release];
[password release];
[additionalQuery release];
}
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:query]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *jsonString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
NSDictionary *results = [jsonString JSONValue];
return results;
[request release];
[response release];
[jsonString release];
[results release];
}
问题是附加Query-NSString 的发布。 当我运行此代码时,它以
的 BAD-ACCES-EXCEPTION 结束[additionalQuery release];
只要我注释掉,代码就可以正常工作。
现在,尽管很简单,但在没有这行代码的情况下运行我的应用程序也可以,但我的问题是:我做错了什么?
我在 IF 子句中生成一个 NSString,然后我 CAN 只在 IF 子句中释放它。但是为什么我会出现错误?
【问题讨论】:
标签: iphone ios exception exc-bad-access