UIAlertView Will not show
- by John
I have a program that is requesting a JSON string. I have created a class that contains the connect method below. When the root view is coming up, it does a request to this class and method to load up some data for the root view. When I test the error code (by changing the URL host to 127.0.0.1), I expect the Alert to show. Behavior is that the root view just goes black, and the app aborts with no alert. No errors in debug mode on the console, either. Any thoughts as to this behavior? I've been looking around for hints to this for hours to no avail. Thanks in advance for your help.
Note: the conditional for (error) is called, as well as the UIAlertView code.
- (NSString *)connect:(NSString *)urlString {
NSString *jsonString;
UIApplication *app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = YES;
NSError *error = nil;
NSURLResponse *response = nil;
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *req = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
NSData *_response = [NSURLConnection sendSynchronousRequest: req returningResponse: &response error: &error];
if (error) {
/* inform the user that the connection failed */
//AlertWithMessage(@"Connection Failed!", message);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oopsie!"
message:@"Unable to connect! Try later, thanks."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles: nil];
[alert show];
[alert release];
} else {
jsonString = [[[NSString alloc] initWithData:_response encoding:NSUTF8StringEncoding] autorelease];
}
app.networkActivityIndicatorVisible = NO;
[url release];
return jsonString;
}