我浏览了关于这个主题的一堆帖子,也许我没有找到“那一个”,但有人会指引我。问题很简单,答案可能也很简单。
如果你有两个实例变量,“public_ivar”和“private_ivar”,那么你应该在哪里/如何声明它们,以使公共部分是公共的,并且私有部分不会以任何方式暴露给查看头文件的任何人?
同样的问题也适用于“public_method”和“private_method”。
我喜欢干净的头文件(在其他语言中),只公开我希望别人看到的方法和实例变量。你应该能够发布你的头文件,并不会遇到有人访问它们不应该访问的内容的危险。如何在Objective-C中实现这一点呢?
例如,假设我决定使用一个实例变量来跟踪某些数据,计数器或类似的东西,在各种需要访问此信息的类方法之间。如果在@interface下通常声明这个实例变量,则它的存在被公开广告,并且可以被创建该类实例的任何人使用。理想情况是,这个实例变量在类实现之外根本不可见。