2
我无法检查NSRect结构是否有值。检查NSRect是否为空
if(!myRect)// produce an error
if(myRect== nil) //this's not a pointer...can't works.
这是正确的方法吗?
我无法检查NSRect结构是否有值。检查NSRect是否为空
if(!myRect)// produce an error
if(myRect== nil) //this's not a pointer...can't works.
这是正确的方法吗?
我觉得NSIsEmptyRect
功能比较舒服吧?
如果你只是想检查零矩形。
NSRect
是一个结构体,而不是指针,因此它不能是nil
或NULL
。但是,您可以检查一个矩形是否等于NSZeroRect
与if(NSEqualRects(myRect, NSZeroRect))
。
使用NSZeroRect我检查myRect是否等于'{{0.0,0.0},{0.0,0.0}}'我需要检查一个结构是否被初始化,而不是等于零的值。 – MatterGoal
与RDBMS不同,内存没有固有的“无效”值。 NULL只是0,当它是一个指针的值时,它有特殊的意义;但对于整数(0只是另一个整数)或结构体没有这样的事情,除非你自己选择一个。 NSZeroRect将是一个明智的选择。 – LaC
由于矩形的组件是浮点数,所以可以使用NaN作为其组件,并编写一个函数,在每个矩形的成员上测试'isnan'。 (测试平等不会起作用:NaN不仅对每个数字都是不等的,而且对NaN本身也是不等的!) –