我已经完成了 ADLilyTableView 演示项目,但无法将 ADLilyTableView h 和 m 文件成功导入到我的项目中。看来主要问题与ARC有关。我已经通过将演示项目转换为 arc 进行了实验,特别是仅转换 LDMasterView.m 文件,这只是删除了对释放对象的所有引用,因此在此转换之后,构建设置下的使用 ARC 选项现在为 ON 并且应用程序作品。所以我认为 ADLilyTableView .m 和 .h 文件不需要转换,但是当这些文件被导入我的项目时,我得到这两个代码块的各种 ARC 错误:
if (block != _transformBlock) {
Block_release(_transformBlock);
_transformBlock = Block_copy(block);
}
}
和
@implementation ADLivelyTableView
- (void)dealloc {
Block_release(_transformBlock);
[super dealloc];
}
我不明白为什么在演示项目中打开 ARC 时没有显示这些错误。我更喜欢找到解决方案,而不是尝试将我的整个应用程序导入演示项目!错误如下:
ARC Casting Rules: Cast of block pointer type 'ADLivelyTransform (aka NSTimeINterval (^)CALayer*_strong, float) to C pointer type 'const void *' required a bridged cast.
ARC Casting Rules: Cast of C Pointer ....(Same as above)
此外,一旦这个问题得到解决,它应该就像导入 ADLilyTableView .h 和 .m 文件然后添加以下行一样简单:
ADLivelyTableView * livelyTableView = (ADLivelyTableView *)self.tableView;
livelyTableView.initialCellTransformBlock = ADLivelyTransformFan;
进入我的 viewDidLoad 部分?还是应该为我的特定表格编辑该位?
感谢您的帮助,问候,拉米