在新版本的swift中没有讨论过这个话题。而在较老的话题中,没有太多有用的答案。我不知道是否有做出口和动作私人/内部/公众的任何好处......IBOulets和IBActions应该是私人的,内部的还是公开的3?
-1
A
回答
0
这要看你的需求
内部:如果您要创建一个自定义库或框架,你不会希望那些使用它的人修改一些内部网点(或任何其他变量)的值,所以在这种情况下,你可能会使用内部,因为你希望这些变量可以在内部访问你的模块。
fileprivate:这一个,你将无法如果子类来改变你的出口值。
但是,为什么你需要子类?让我们来看看这个例子
class CDWriteMessageViewController: UIViewController {
@IBOutlet weak var someTitleLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.someTitleLabel.text = "Write a Message" // Title by default
}
}
这是一个为某人创建消息的控制器。然后你意识到你还需要在发送之前在本地保存消息,所以你需要创建另一个控制器。
class CDDraftMessageViewController: CDWriteMessageViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.someTitleLabel.text = "Draft" // Modifiying the outlet
}
}
正如你可以看到我继承了控制器,因为我想相同的功能加上其他的东西,新的标题,添加一个删除按钮,保存在本地,等等,这是命名的固体原则之一“开放原则”。欲了解更多信息:https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
最后但并非最不重要的:
公共:这个问题,如果你继承你将能够在模块内修改变量的值,而不是从外部
很高兴帮助:)
相关问题
- 1. 应该复制构造函数是私人的还是公开的
- 2. 确定Facebook的帖子是公开的还是私人的ID?
- 3. 模型类属性应该是私人还是公共?
- 4. 这个功能应该是公共还是私人?
- 5. 公立还是私人?
- 6. Xcode:复制标题:公开还是私人还是项目?
- 7. 检查Instagram帐户是公开还是私人的
- 8. 环保对象应该公开还是私密?
- 9. 推送渠道:公共还是私人?
- 10. Ada:公开部分和私人部分规格是分开的吗?
- 11. 吸气剂和吸附剂是私人还是公用?
- 12. 应该将注入的依赖项公开访问还是私有?
- 13. Android:AsyncTask建议:私人课还是公开课?
- 14. 我应该使用PHP + MySQL公司Intranet的内部还是外部托管?
- 15. 我应该使用公有还是私有变量?
- 16. 应该将私有内部类的构造函数声明为public还是private?
- 17. 如何知道该方法是公开的,受保护的或私人的PHP?
- 18. 公开私有内部类的大小
- 19. WordPress:公开的Web内容条目和私人JSON内容?
- 20. 课堂上的静态地图 - 公共还是私人?
- 21. 是不是公开的RSA私钥?
- 22. 如何知道pdb文件是公共还是私人?
- 23. 搞清楚IP地址是公开还是私人用于厨师食谱
- 24. 函数应该在jQuery的扩展内部还是外部?
- 25. 私人公钥是不同
- 26. 决定功能在CI中应该是私密还是公开的方式/标准
- 27. “私人”不是不是真的私人?
- 28. OpenUDID是公共或私人的ios
- 29. 公共和私人终端应该有独立的API吗?
- 30. 如何知道Liferay主题中的页面是私人还是公共?
都取决于您的要求。私人作品只在你的班级内部,不能在任何地方公开。内联在同一个package.so中都取决于你想要如何访问数据。 –
我想不出有什么特别的情况下,有人想要用插座/动作子类。这甚至会是好的做法吗?如果不是,他们应该永远是私人的,不是? – hvasam