为什么在Objective-C的静态上下文中允许使用self
?
我以为这是允许的,然后我遇到了内存错误,花了一周时间才发现self
不是从类中调用其他静态方法而不是键入类名的别名.
Xcode及其编译器似乎非常擅长发现常见的trap ,为什么它甚至不生成类似的警告呢?
为什么在Objective-C的静态上下文中允许使用self
?
我以为这是允许的,然后我遇到了内存错误,花了一周时间才发现self
不是从类中调用其他静态方法而不是键入类名的别名.
Xcode及其编译器似乎非常擅长发现常见的trap ,为什么它甚至不生成类似的警告呢?
+
的方法)是特定对象上的really个实例方法.(你的思想爆炸了吗?)由于在实例方法中有一个self
变量可访问,所以在类方法中自然也有一个self
变量可访问.self
分等于the class itself分.[self performAction]
次操作来调用这个特定实例上的方法一样,在类方法中执行[self performClassAction]
次操作来调用这个特定类上的方法.Class
个对象都是NSObject
的子类.所以你可以在任何Class
个对象上使用任何NSObject
个实例的方法.(你的脑子又爆炸了吗?)