这篇博文讲的是微博评论列表的页面和如何对微博发评论。
有上面的效果视图可以知道,在微博评论视图中第一个cell是显示微博的内容,接下来的cell才是显示评论内容,评论内容的显示包括:发评论人的昵称,评论内容和评论的时间;而发评论视图就是一个简单的textview和一个评论button,这部分简单。
(1)微博评论视图
①获取微博评论的API是https://api.weibo.com/2/comments/show.json 它的请求的参数除了access_token和微博的id号之外,我还用到了一个参数,就是page,之前已经说过了,数据的返回是以页为单位的,这里一页返回的评论数默认就是50,当然你也可以设置这个参数count来改变每一页返回的评论数,我没有这么做。
所以一共就有三个参数。
+ (NSString *)returnCommentUrlStringWithID:(long long)weiboID page:(int)page {
NSString *urlString = [[NSString alloc] initWithFormat:@"%@?access_token=%@&id=%lld&page=%d",COMMENTS,[InfoForSina returnAccessTokenString],weiboID,page];
return urlString;
}
其中的COMMENTS表示这个API。
数据的请求和解析如下:
- (void) continueLoadData:(int)page {
//GCD异步获取数据
dispatch_async(dispatch_get_global_queue(0, 0), ^{
dispatch_sync(dispatch_get_global_queue(0, 0), ^{
hud.labelText = @"正在加载评论数据...";
[hud show:YES];
[self.view addSubview:hud];
NSString *urlString = [InfoForSina returnCommentUrlStringWithID:_status.statusId page:page];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10];
NSData *commentListData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *dataListString = [[NSString alloc] initWithData:commentListData encoding:NSUTF8StringEncoding];
NSDictionary *dataListDictionary = [dataListString objectFromJSONString];
_totalNum = [[dataListDictionary objectForKey:@"total_number"] integerValue];
[_commentArray addObjectsFromArray:[dataListDictionary objectForKey:@"comments"]];
});

本文详细介绍了如何在iOS应用中实现微博评论列表的展示,包括获取评论API的调用,数据解析,以及处理评论数量超过一页的情况。同时,讲解了评论内容的显示,注意cell高度计算和重用机制。此外,还阐述了如何设置导航栏右侧评论按钮,通过 segue 传递微博ID到发评论视图,并展示了使用POST方法发送评论的代码示例。
最低0.47元/天 解锁文章
6010

被折叠的 条评论
为什么被折叠?



