关于C:nsstring*mystring=[nsstring string]是什么意思?

What does NSString*myString =[ NSString string ] means?

本问题已经有最佳答案,请猛点这里访问。

我在读一本关于学习目标C的书,但我不理解以下代码:

1
NSString* myString = [NSString string];

我知道如果您键入[ object method ]object.method,那么类中的方法将被调用,但是[ Class method ]意味着什么?


[Class method]是一个类方法。

阅读文档了解更多详细信息。

顺便说一下,您不需要在Objective-C中编写object.method。点语法只用于访问或设置对象的属性。


正如您可能知道的,不仅有方法可以发送到类的实例。还有一些方法可以发送到方法的类对象。此特定方法返回一个空字符串,并将其赋给"mystring"。有关类对象的更多信息,请阅读Apple文档"Objective-C编程语言"


第一行创建一个新的空字符串。长度0。它只是"@"。通过NSString *myString = @"";类vs实例,您可以完成相同的事情,这是最后一个问题。类是"我想做这个方法给我的"。如果您使用的是[NSString string],那么实际上您使用的是[[NSString alloc] init]。因此,该实例允许您访问类实例(也就是mystring)的方法和变量,所以[myString length]。你不能做[NSString length]

类方法是获取实例(或获取类类型)的接口,实例方法用于实际使用的类的内存实例。

很抱歉回答得很复杂。


它是一个类方法——它基本上是一个在类本身上调用的方法,而不是在类的特定实例(对象)上调用的方法。请参阅此问题以获得进一步解释。