我一直在浏览Sketch,他们随Xcode一起提供的示例程序,我一直看到这样的事情(并不总是如此):
[[MyClass class] classMethod]
Run Code Online (Sandbox Code Playgroud)
现在,既然MyClass不是该类的实例,我会这样做:
[MyClass classMethod]
Run Code Online (Sandbox Code Playgroud)
作为一个实验,我能够通过覆盖+ (Class)class和返回另一个类来区分上述两个语句!如果你想要这样做,你需要以前的版本才能使用它,所以我可以看到它可能有用,但是真的吗?
这听起来像是一个可怕的想法篡改+class,但如果有的话请赐教.谢谢!
要看到一些例子,检查出的方法-copy:中SKTGraphicsView.m,在发现草图程序Developer/Examples/Sketch/.
在你引用的情况下,我真的没有理由打电话+class.但是,肯定有一种情况是呼叫[[self class] doSomething]而不是[[MyClass class] doSomething].在第一种情况下,[self class]如果对象已经被子类化,则可以返回正确的结果.在第二种情况下,您将始终获取MyClass类对象,这意味着MySubClass无法有效地覆盖+doSomething类方法.
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |