nodeBlockForRowAtIndexPath中的异步调用

时间:2016-07-10 15:50:24

标签: ios swift asyncdisplaykit

我在我的IOS应用程序中使用Async并需要为CollectionView进行流畅滚动,因此我尝试使用ASyncDisplayKit,这似乎可以实现平滑滚动。

所有样本都是在ObjectiveC中制作的,我想翻译这部分代码:

- (ASCellNodeBlock)tableView:(ASTableView *)tableView    nodeBlockForRowAtIndexPath:(NSIndexPath *)indexPath
{
  PhotoModel *photoModel = [_photoFeed objectAtIndex:indexPath.row];
    // this will be executed on a background thread - important to make sure it's thread safe
    ASCellNode *(^ASCellNodeBlock)() = ^ASCellNode *() {
      PhotoCellNode *cellNode = [[PhotoCellNode alloc] initWithPhotoObject:photoModel];
      return cellNode;
    };

    return ASCellNodeBlock;
}

有人可以帮助我在Swift中翻译这段代码吗?

1 个答案:

答案 0 :(得分:1)

在不了解有关API的任何内容的情况下,似乎该函数想要返回一个没有返回if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } 的参数的块。

ASCellNode

来自easily searchable docs ...

  

这两种方法,需要返回ASCellNode或   ASCellNodeBlock。 ASCellNodeBlock是一个创建一个的块   ASCellNode可以在后台线程上运行。注意   ASCellNodes由ASTableNode,ASCollectionNode和ASPagerNode使用。