CustomClass *variableName = [[CustomClass alloc] init];
variableName.propertyName = @"Some text";
有人能用人类语言逐步解释这段代码吗?
为什么我要将数据发送到CustomClass
中的属性我通过varibaleName.propertyName
访问它,而不是通过CustomClass.propertyName
。
我不明白。
如果我想将某些数据发送到CustomClass
中的varibale,那么从逻辑上讲,显示该属性的路径= CustomClass.propertyName = @"Some text";
?
*variableName
- 它的用途是什么?
我很困惑。
答案 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
个对象,比方说variable1
和variable2
。 variable1.propertyName
与variable2.propertyName
不同,因为它们是类的不同实例,而不是类本身。