iOS 日记 - tableView 与 collectionView 的数据联动

  • 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 与 collectionView 的数据联动)