gpt4 book ai didi

Objective-C:什么是私有(private)的什么不是?

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:55 26 4
gpt4 key购买 nike

人们为什么使用

@interface ViewController : UIViewController 
{
@private
UIButton* button_;
}

公共(public) header 中的@private 声明?在实现中声明一个变量会产生相同的结果,不是吗?我觉得很奇怪,我认为公共(public) header 应该只包含真正的公共(public)成员。如何处理 protected 成员?

@implementation ViewController
UIButton* button_;
@end

我知道的唯一区别是这个变量只在当前编译单元(.m 文件,对吗?)内可见

方法也是如此吗?我可以通过正确的方法排序或前向声明进行编译。为什么人们关心为私有(private)方法声明类别?仅用于测试目的?

最佳答案

@implementation block 中的变量声明将创建一个全局变量,而不是实例变量。实例变量需要定义为 @interface 的一部分。

虽然您可以通过类别或扩展创建额外的 @interface block ,但它只能包含方法声明,而不能包含实例变量。

关于Objective-C:什么是私有(private)的什么不是?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com