我真的需要有人来帮助我。 我正在尝试学习对象C.但我不明白星号运动。 我会自己解释一下:
NSDate *date = [NSDate date]
这里我们要求使用date方法创建一个NSdate实例并存储在date中。这是对的吗?
如果我在@interface并且我这样做:
@interface Gretter : NSObject
{
NSString *greetings
}
这里我们声明属于NSObject超类的Gretter子类,我们将方法问候语添加到子类问候语中 这是对的吗?
我真正不理解的是:
NSString* greeting = @"hello"
为什么星号会附加到NSString *这里?
这是3个单独的示例,不属于同一个程序。 我只是想明白为什么星号*改变位置
非常感谢
CL
答案 0 :(得分:1)
此:
NSString* greeting = @"hello";
而且:
NSString *greeting = @"hello";
完全相同,您正在定义一个指向字符串对象的指针。
答案 1 :(得分:1)
让我依次回答你的每一个问题:
这里我们要求date方法创建一个NSdate实例并存储在date中。这是对的吗?
是的,这是对的。这说起来有点奇怪,但你有正确的想法。
这里我们声明属于NSObject超类的Gretter子类,我们将方法问候添加到子类问候语是否正确?
您的正确Gretter
是NSObject
的子类。但是,您添加的是名为greetings
的实例变量,而不是方法。
为什么星号会附加到NSString *这里?
星号的位置确实无关紧要。在每种情况下,您都在创建/定义/初始化指向对象的指针。 NSString* foo
与NSString *foo
相同,与NSString * foo
相同。这只是一种风格问题。