如何从Objective-C超类访问Swift子类中的私有变量?

时间:2018-10-29 10:24:59

标签: swift inheritance private kvc

我有用Swift编写的项目,在项目中有用Objective-C编写的pod。 我从Objective-C框架继承并制作了swift文件。这个Objective-C框架有许多带有许多私有属性的类,我需要对其进行访问和编辑。 Pod中的框架,因此我无法直接对其进行编辑。 有什么办法可以做到吗?使用KVC或Swizzle可以做什么?

1 个答案:

答案 0 :(得分:0)

第一个解决方案

确定要编辑Pod脚本吗?可能是锁定了,您唯一要做的就是解锁脚本并将私有变量切换为公共变量(或删除“私有”变量,因为很快变量会自动变为公共变量)

第二个解决方案 您可以使用协议访问此变量

我为您找到了一个完美的教程Protocol/Delegate

第三种解决方案

仅在没有想法的情况下使用: 使用全局变量,但不建议使用此方法。 因此,如果这里没有人给您一个更好的主意并且您陷于这个问题,请使用它们直到找到更好的解决方案