Geo*_* WS 6 access-modifiers swift
我在两个不同的文件中有两个 Swift 类,它们都在同一个目标中。有没有办法让一个人访问另一个人的private成员而不将他们暴露为internalor public?
(我本质上是在寻找类似于friendC++ 的东西。)
动机:
这对于UIViewControllerAnimatedTransitioning在单独的“转换”类中实现(通常需要源和目标视图控制器的深入了解)可能很有用,而不需要这些视图控制器将private子视图暴露给目标的其余部分。
我在两个不同的文件中有两个 Swift 类,它们都在同一个目标中。有没有一种方法可以让一个人访问另一个人的私有成员,而不会将它们暴露为内部或公共成员?
不。你得到的规则就是你得到的规则。没有什么神奇的方法可以打破它们。您可以将这两种类型放在同一个文件中,或者(在另一个极端)您可以将它们都移到自己的模块中并给它们internal范围,以便它们可以相互看到,但其他人无法看到它们。
这对于在单独的“转换”类中实现 UIViewControllerAnimatedTransitioning 之类的事情可能很有用 - 通常需要源和目标视图控制器的深入了解 - 而不需要这些视图控制器向目标的其余部分公开私有子视图
我不明白你为什么需要这个。很容易将 UIViewControllerAnimatedTransitioning 材料移动到它自己的文件中。不需要公开私有子视图。这就是为什么这些东西被分解成一个单独的协议。动画师和视图控制器的角色已经完全独立。如果你觉得需要私有子视图的曝光,你做错了什么(你应该问一个问题关于那)。[例如,您可能不知道该transitionCoordinator功能,它允许视图控制器在不知道它是什么的情况下参与其过渡动画。]
| 归档时间: |
|
| 查看次数: |
3149 次 |
| 最近记录: |