我正在开发一个库,我想在一个代码库中支持两种内存管理方法(ARC 和 MRR)。
我不想强迫用户为我的代码使用特殊标志(-fobjc-arc)。
我知道预处理器测试:#if __has_feature(objc_arc)
但是使用它来涵盖所有差异的最佳实践是什么?
有没有人有任何经验可以使它干净且易于使用?
最好的方法是使用一些宏在 ARC 和非 ARC 之间进行转换,我可以在我的代码中使用这些宏。
=========
我的问题已通过接受的答案解决,但作为对其他人的提示,我发现John Blanco 的一篇博客文章给出了如何处理我的问题的最佳示例。