将私有财产公开/使用只有Swift类别可写的私有财产?

时间:2017-04-25 20:26:27

标签: swift private categories readonly public

The question is the same as this one

但我需要Swift的解决方案。如果一般可以在Swift中使用吗?当然,我的意思是没有创建Objective C文件并将其导入swift代码的解决方案

1 个答案:

答案 0 :(得分:2)

不 - 在Swift中它是不可能的 - 至少在目前的Swift 3版本中没有。

如果变量被定义为“私有”,你甚至无法从扩展中访问它,甚至不能通过子类化来访问它。

如果您可以将此“私有”变量设为“fileprivate”或“internal” - 它可能会通过公共方法公开它们。

以下是来自Apple的文档: https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AccessControl.html

如果您正在使用Swift 2 - 您应该能够创建将从主类返回私有变量的公共函数。