Objective c 目标C中的星号

Objective c 目标C中的星号,objective-c,Objective C,我真的需要有人帮助我。 我正试图学习物体C,但我不懂星号的运动。 我会解释: NSDate *date = [NSDate date] 这里我们要求date方法创建一个NSdate实例并存储在date中。对吗 如果我在@界面中,并且我在: @interface Gretter : NSObject { NSString *greetings } 在这里,我们声明Gretter子类属于NSObject超类,并将方法greeting添加到子类greeting中 对吗 我真正不明白的是: NS

我真的需要有人帮助我。 我正试图学习物体C,但我不懂星号的运动。 我会解释:

NSDate *date = [NSDate date]
这里我们要求date方法创建一个NSdate实例并存储在date中。对吗

如果我在@界面中,并且我在:

@interface Gretter : NSObject
{
 NSString  *greetings
}
在这里,我们声明Gretter子类属于NSObject超类,并将方法greeting添加到子类greeting中 对吗

我真正不明白的是:

NSString* greeting = @"hello"
为什么星号会附加到NSString*上

这是3个单独的示例,不是同一程序的一部分。 我只是想知道为什么星号*会改变位置

多谢各位

CL

这:

NSString* greeting = @"hello";
这是:

NSString *greeting = @"hello";

完全相同,您正在定义一个指向字符串对象的指针。

让我依次回答您的每个问题:

这里我们要求date方法创建一个NSdate实例并存储在date中。对吗

是的,没错。这样说有点奇怪,但你的想法是对的

在这里,我们声明Gretter子类属于NSObject超类,并将方法greeting添加到子类greeting中,对吗

您的正确答案是Gretter是NSObject的子类。但是,您添加的是一个名为“问候语”的实例变量,而不是一个方法

为什么星号会附加到NSString*上


星号的位置其实并不重要。在每种情况下,您都在创建/定义/初始化指向对象的指针。NSString*foo与NSString*foo相同。这只是风格的问题。

这是Objective-C,而不是Object C。对于编译器来说,它们并不相似,它们完全相同。这只是空白处的不同。别忘了NSString*问候语=@hello;