在Swift中通过反射调用私有方法

在Swift中通过反射调用私有方法,swift,reflection,Swift,Reflection,我需要调用一个私有方法并将param传递给它。它使用反射的标准方式。有很多技术,在Kotlin、Java、C#中都是可能的。 然而,我需要在Swift中调用什么来实现预期结果?示例代码如下: class Test { private func doSomething(value: String) { } } let testInstance = Test() // how to invoke private method and pass param testInstance.

我需要调用一个私有方法并将param传递给它。它使用反射的标准方式。有很多技术,在Kotlin、Java、C#中都是可能的。 然而,我需要在Swift中调用什么来实现预期结果?示例代码如下:

class Test {
    private func doSomething(value: String) {
    }
}

let testInstance = Test()
// how to invoke private method and pass param
testInstance.doSomething("Hello world!")

您可以尝试查看
Mirror
,这是Swift中的反射。如果我没有记错,您可以阅读私有属性,但不能编写它们。我不确定私有方法。Swift不支持反射,因此这不是解决方案,如果您正在编写单元测试,那么无论如何都应该调用测试对象的公共方法。我使用镜像对象访问私有字段,并且如果字段是引用类型,则能够修改状态。然而,我仍然不能用私有方法做任何事情。我相信有可能通过Objective-C调用私有方法,但它不适用于我。为什么需要访问私有方法?这些方法是私有的,因为它们是类内部厨房的一部分,不应该直接调用。