【发布时间】:2011-12-10 08:34:15
【问题描述】:
我有一个名为 AccountView 的子类 UITableViewCell,其中包含一个 UIActivityIndicatorView。每个单元格都应该包含一个 Twitter 帐户。当用户向 Twitter 发布消息时,UIActivityIndicatorView 应该开始旋转,然后在执行 twitter 请求处理程序时停止动画:
[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error){
if (error != nil) {
NSLog(@"TWITTER ERROR: %@",error);
}
NSLog(@"Posted successfully");
AccountCell *cell = (AccountCell *)[accountTable cellForRowAtIndexPath:[NSIndexPath indexPathForRow:[accounts indexOfObject:account] inSection:0]];
NSLog(@"Cell isSpinning? :%d",[[cell activity] isAnimating]);
[[cell activity] stopAnimating];
NSLog(@"Cell isSpinning? :%d",[[cell activity] isAnimating]);
}];
在向 Twitter 发布短消息时一切正常,但是,当 TWRequest 包含要上传的图像时,几秒钟后,带有图像的帖子出现在 Twitter 上,我在控制台中看到以下消息:
2011-12-10 00:13:22.085 TwitTest[14954:1a03] Posted Successfully
2011-12-10 00:13:22.086 TwitTest[14954:1a03] Cell isSpinning? :1
2011-12-10 00:13:22.088 TwitTest[14954:1a03] Cell isSpinning? :0
但 UIActivityIndicatorView 会无限期地旋转(或至少延迟几秒钟),即使日志消息表明并非如此。这只在图片上传时中断的事实让我相信也许我应该在后台线程上发送请求,但我以前从未处理过线程,并且不能确定这是否是问题。
最后一件事,如果我导航到不同的视图并返回,UIActivityIndicatorView 会显示为冻结状态 - 如果我导航离开并再次返回,那么它会永远消失。
【问题讨论】:
标签: iphone objective-c ios uitableview uiactivityindicatorview