新手。自定义类

时间:2015-02-08 00:10:54

标签: objective-c class variables alloc

CustomClass *variableName = [[CustomClass alloc] init]; variableName.propertyName = @"Some text";

有人能用人类语言逐步解释这段代码吗?

为什么我要将数据发送到CustomClass中的属性我通过varibaleName.propertyName访问它,而不是通过CustomClass.propertyName。 我不明白。

如果我想将某些数据发送到CustomClass中的varibale,那么从逻辑上讲,显示该属性的路径= CustomClass.propertyName = @"Some text";

*variableName - 它的用途是什么?

我很困惑。

2 个答案:

答案 0 :(得分:1)

对于实例和类之间的区别似乎存在一些混淆。尝试将这样复杂的想法与现实世界的例子联系起来通常会更好。

例如, Class 可以是Cars。因此,你有一个汽车类。它将包括所有汽车共享的信息。例如,代替具有propertyName,它可以具有“模型”名称。要访问任何给定汽车的数据,您必须先创建它。这就是你在第一行中所做的:CustomClass *variableName = [[CustomClass alloc] init];

在我们的示例中,我们将编写Car *myCar = [[Car alloc] init];来创建一个我们称为myCar的新Car对象。然后,您可以说myCar.model = "Civic"。我们不希望所有汽车都是“思域”,而是我们创建的myCar。 不要在描述一般类型对象的类和作为对象本身的实例之间混淆。

希望您现在明白问题的最后部分:

  

* variableName - 它的用途是什么?

这意味着您引用了CustomClass的一个名为variableName的实例。在我们的示例中,这是myCar,然后您可以操作或更改。

答案 1 :(得分:1)

您访问variableName.propertyName而不是CustomClass.propertyName,因为variableName是该类的实例,而CustomClass是类本身,而不是您使用的对象。

例如,您有2个CustomClass个对象,比方说variable1variable2variable1.propertyNamevariable2.propertyName不同,因为它们是类的不同实例,而不是类本身。