ठीक है, मैं वही कर रहा था। मुझे एक सिंक्रोनस AJAX अनुरोध चलाया गया था जो मेरे यूआई को ठंडा कर रहा था। तो इस तरह मैंने इसे ठीक किया:
__block NSString *message;
dispatch_queue_t q = dispatch_queue_create("sign up Q", NULL);
dispatch_async(q, ^{
NSString *function = [[NSString alloc] initWithFormat: @"signup(\'%@\',\'%@\',\'%@\')",self.email.text,self.password.text,self.name.text];
dispatch_async(dispatch_get_main_queue(), ^{
NSString *result = [self.webView stringByEvaluatingJavaScriptFromString:function];
NSLog(@"%@",result);
if ([result isEqualToString:@"1"]) {
message = [NSString stringWithFormat:@"Welcome %@",self.name.text];
[self.activityIndicator stopAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
else {
message = [NSString stringWithFormat:@"%@ is a registered user",self.name.text];
[self.activityIndicator stopAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Message" message:message delegate:self cancelButtonTitle:@"Okay" otherButtonTitles: nil];
[alertView show];
});
});
तर्क सरल है। एक नए धागे पर जाएं, और उसके भीतर से, मुख्य कतार में प्रेषण करें और फिर जेएस काम करें और सबकुछ मेरे लिए आकर्षण की तरह काम करता है ...
स्रोत
2013-03-18 08:04:47
यह कैसे मदद करेगा? –