检查NSRect是否为空

Mat*_*oal 2 macos cocoa

我无法检查NSRect结构是否有值.

if(!myRect)// produce an error
if(myRect== nil) //this's not a pointer...can't works.
Run Code Online (Sandbox Code Playgroud)

哪种方法正确?

Ita*_*chi 13

我觉得NSIsEmptyRect功能更舒服吧?
如果你只想检查零rect.


Tom*_*ing 10

An NSRect是结构,而不是指针,因此它不能是nilNULL.但是,您可以检查一个矩形是等于NSZeroRectif(NSEqualRects(myRect, NSZeroRect)).

  • 由于矩形的组件是浮点数,因此可以使用NaN作为其组件,并编写一个函数,在每个矩形的成员上测试`isnan`.(测试平等不起作用:NaN不仅对每个数字都是不等的,而且对于NaN本身也是如此!) (3认同)