美文网首页ios专题
iOS 日记 - tableView 与 collectionV

iOS 日记 - tableView 与 collectionV

作者: 赖小赖小赖 | 来源:发表于2016-04-01 20:02 被阅读699次
    • tableView 和 collectionView 的数据联动
      左侧 tableView 中的分类点击后,获取对应的数据,填充到右侧 collectionView 中。
      研究了下读本地 JSON 和远程 JSON 的写法,读 HTTP 请求数据是通过构建 request 来获取
    - (void)fetchRemoteJSON:(NSString *) pathForResource {
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:[NSURL URLWithString:pathForResource]];
        [request setHTTPMethod:@"GET"];
        
        NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
        [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            // 捕获错误
            NSError *error2;
            
            // 转换格式
            NSDictionary *dictionary2 = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error2];
            
            // 捕获错误
            if (error2) {
                NSLog(@"JSON parse error:%@", error2.localizedDescription);
            }
            
            NSLog(@"remoteData %@", dictionary2);
            
        }] resume];
    }
    

    今天加上了左侧和右侧不同的数据,联动起来最终是这个样子

    tribe-rank.gif

    部落排行的 Demo 做到这里也差不多了,后续还可以加上数据缓存相关的一些东西。

    OC 里边没有像 WEB 中 Promise 的写法,更多是通过 Block 回掉的方式来实现异步操作。如果是嵌套的异步操作不会造成像 JS 中的毁掉地狱么?下午培训听 @justiny 讲了我们可以用 GCD 和 Operation 来更优雅地写同步异步代码。

    • IOS 并发和异步编程 培训
      重新认识了多线程,多线程间通信的各种问题。总结起来就是避免使用多线程。

    相关文章

      网友评论

        本文标题:iOS 日记 - tableView 与 collectionV

        本文链接:https://www.haomeiwen.com/subject/xfuylttx.html