ios - 类方法中的实例方法swift

标签 ios swift function

我有一个类 TestClass 和一个类 & 实例方法在里面

class  TestClass {

    class func classMethod(){

       print("how do i call instance method from here")

    }

    func instanceMethod(){

        print("call this instance method")

    }


}

我的问题是如何从 classMethod 中调用 instanceMethod??

我注意到的一种方式是

class func classMethod(){

   TestClass().instanceMethod()

}

但是,这是做事的好方法吗?

最佳答案

从设计的角度来看,您尝试做的事情很少有任何意义。

根据定义,实例方法 对对象的实例 进行操作。 例如,它可能需要访问某些实例成员,或者以某种方式干预您调用该方法的对象的状态。

class 另一方面,方法不需要实例就可以调用它们 - 通常应该只对给定的参数进行操作,而不依赖于共享状态。

如果需要在classMethod()中调用instanceMethod(),而instanceMethod()不需要任何状态——为什么会这样不是 class 方法或(全局)纯函数吗?

关于ios - 类方法中的实例方法swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38018190/

相关文章:

iphone - 在不重新加载整个 tableView 的情况下在 tableView 中实现 "More"按钮

ios - 未调用委托(delegate)字段时实现 `DelegateProxy` (RxSwift/RxCocoa) `delegate`

ios - 使用 TableView 进行 NSData 卸载

ios - AppDelegate didFinishLoadingWithOptions 执行顺序/时间有问题

javascript - 函数调用和函数引用有什么区别?

linux - 为什么 grep 在用作变量时有效,而在 linux shell 脚本中用作函数时却无效?

ios - 永远不要退出while循环

ios - 删除 TableView 中的数据(Swift)

ios - 滚动后重用单元​​格后如何维护表格 View 单元格中的值?

C++ 从函数返回双指针....怎么了?