目标C:[ClassName self]是什么; 做?

jba*_*100 10 class objective-c class-method httpserver

我正在查看CocoaHTTPServer项目的源代码,更具体地说是HTTPServer.m文件,我只是不明白这一行:

connectionClass = [HTTPConnection self];
Run Code Online (Sandbox Code Playgroud)

这是做什么的(它在任何地方记录)?它甚至如何编译?不应该

connectionClass = [HTTPConnection class];
Run Code Online (Sandbox Code Playgroud)

Sul*_*han 3

在这种情况下,- (id)self是定义在 上的方法NSObject。它返回接收者。对于 a 来说Class,它显然应该与调用 a 做同样的事情-(Class)class.

\n\n
\n

因此,类对象是成熟的对象,可以动态类型化、接收消息并从其他类继承方法。它们\xe2\x80\x99 的特殊之处仅在于它们\xe2\x80\x99 是由编译器创建的。

\n
\n