类别中的自我和[自我类]之间的区别?

时间:2014-08-19 05:37:06

标签: ios objective-c-category

查看我的代码中的注释,这两种方法有什么区别?

为什么我不能使用:

[self userDefaultsRead:key];

虽然我可以这样使用类方法:

[self persistenceKey:key];

这是我的代码:enter image description here

1 个答案:

答案 0 :(得分:2)

self是对象的一个​​实例。你不能以这种方式调用任何类方法(用+声明的方法)。

[self class]返回类对象,这是调用方法的正确方法。这是正确的代码,这就是它工作的原因。

我建议你回到基础并阅读本书的封面。任何你不理解的东西,研究它直到你做:

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/ProgrammingWithObjectiveC.pdf