gpt4 book ai didi

ios - Objective C block 泛型

转载 作者:行者123 更新时间:2023-11-28 21:39:36 25 4
gpt4 key购买 nike

我正在尝试实现一个数据源,该数据源可用于为 tableview 自定义多个不同类的单元格,但我在传递给构造函数的 block 中遇到泛型类型的问题。

这里是数据源头文件的实现:

@interface ABParseDatasource<__covariant ObjectType: UITableViewCell *> : NSObject <UITableViewDataSource>

- (instancetype)initWithCellIdentifier:(NSString *)identifier parseQuery:(PFQuery *)query tableView:(UITableView *)tableView customizeBlock:(void (^)(ObjectType))customBlock;

@end

这里是我尝试在构造函数中初始化 block 的地方:

self.parseDatasource = [[ABParseDatasource alloc] initWithCellIdentifier:identifier parseQuery:[ABOrder query] tableView:self.tableView customizeBlock:^(ABOrderItemTableViewCell *cell) {

}];

属性声明:

@property (nonatomic) ABParseDatasource<ABOrderItemTableViewCell *> *parseDatasource;

但是我在实例化数据源时遇到编译器错误:

enter image description here

有什么想法吗? (是的,ABOrderItemTableViewCell 确实继承自 UITableViewCell)

最佳答案

创建类时必须指定泛型类型:

[[ABParseDatasource<ABOrderItemTableViewCell *> alloc] initWithCellIdentifier...

关于ios - Objective C block 泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32682257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com