我使用異步停止UIACtivityIndicatorView氣質的iOS
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
我有回調的POST請求時,連接已經停止,在這裏我把我的方法,停止UIActivityIndicatorView
-(void)connectionDidFinishLoading:(NSURLConnection*)connection
{
NSLog(@"Connection finish");
[self stopAnimatingSpinner];
}
繼承人停止動畫方法(我已經嘗試了一種組合,並且所有的下面的停止,刪除隱藏方法
-(void)stopAnimatingSpinner{
[submittingActivity stopAnimating];
submittingActivity.hidden = YES;
[submittingActivity removeFromSuperview];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
現在,問題有時會停止,有時它並不是非常隨機的。如果我將活動的停止移動到完成數據的解析而不是依賴連接回調,則行爲完全相同。有時候他們有時候會停下來呢?
我能想到的唯一的事情是,連接阻塞主線程,但爲什麼它的工作有時而不是別人?
您是否每次都在控制檯上打印「連接完成」? –
@GauravWadhwani是的,我總是得到日誌,所以被稱爲只是用戶界面的方法不會更新..很奇怪,因爲有時它可以幫助別人不是? –
嘗試註釋'removeFromSuperView',然後嘗試..am猜測它可能工作..或者如下面的答案中提到的H2CO3,在主線程上運行UI更新,如果您還沒有這樣做.. –