Objective c 目标C对象属性->;

Objective c 目标C对象属性->;,objective-c,object,boolean,Objective C,Object,Boolean,我试图使用if-else比较中对象的BOOL,当我编写player.isUp时收到警告,建议我使用player->isUp 为什么我不能对对象布尔使用点表示法?->是什么意思???为了使用点表示法,需要将isUp定义为对象所属类的属性。箭头是从结构指针访问值的标准C语法。要使用点表示法,需要将isUp定义为对象所属类的属性。箭头是用于从结构指针访问值的标准C语法 为什么我不能对对象布尔使用点表示法 如果声明了属性,则可以 ->是什么意思 这是对ivar的直接成员访问——它不使用getter/se

我试图使用
if-else
比较中对象的
BOOL
,当我编写
player.isUp
时收到警告,建议我使用
player->isUp


为什么我不能对对象布尔使用点表示法?
->
是什么意思???

为了使用点表示法,需要将isUp定义为对象所属类的属性。箭头是从结构指针访问值的标准C语法。

要使用点表示法,需要将isUp定义为对象所属类的属性。箭头是用于从结构指针访问值的标准C语法

为什么我不能对对象布尔使用点表示法

如果声明了属性,则可以

->是什么意思

这是对ivar的直接成员访问——它不使用getter/setter,也不使用objc消息传递。在这种情况下:
object->ivar
,如果
object
nil
,您很可能会获得
EXC\u BAD\u访问权限

为什么我不能对对象布尔使用点表示法

如果声明了属性,则可以

->是什么意思


这是对ivar的直接成员访问——它不使用getter/setter,也不使用objc消息传递。在这种情况下:
object->ivar
,如果
object
nil
,您可能会得到一个
EXC\u BAD\u访问
,您可以使用BOOLs的点表示法。请在声明和使用此BOOL的位置发布代码。您可以在BOOL中使用点表示法。请在声明和使用此BOOL的地方发布代码。另外,
->
是用于访问iVar的objc语法。它在objc中是否有特殊含义,或者iVar在内部表示为结构的一个成员?@UIAdam,Objective-C对象确实是隐藏在引擎盖下的结构,因此这不是objc特有的。这只是标准的C表示法,在Objective-C中当然有效。在Obj-C 2.0中,iVar是通过名称访问的,而不是像结构成员一样通过固定偏移量访问的。另外,
->
是访问iVar的objc语法。它在objc中是否有特殊含义,或者iVar在内部表示为结构的成员?@UIAdam,Objective-C对象实际上是隐藏的结构,因此这不是ObjC所特有的。这只是标准的C表示法,当然在Objective-C中是有效的。在Obj-C2.0中,IVAR是通过名称访问的,而不是像结构成员那样的固定偏移量。