我已经明白,Objective-c中的static
与Java中的static
不同。我的问题是Objective-c静态变量。我在Objective-C中有一个静态变量。如果在一个类的一个实例中设置它。如果我在先前设置变量后创建类的新实例,那么值是否可见?
答案 0 :(得分:2)
是的,这是static
变量的重点。它们不是实例变量。静态变量在其范围内只存在一次。它也被初始化了一次。
对于在任何方法之外声明的静态变量以及在方法中声明的静态变量,都是如此。
答案 1 :(得分:1)
static
关键字仅用于限制变量的范围,以便只能在其实现文件中直接引用它。
static
关键字通常与全局变量一起使用来实现Objective-C的半生不熟的类变量,所以是的,你是对的,无论实例的数量多少,都会存在一个变量的实例。类(包括零),这基本上是因为它与类完全无关。