带有NULL指针的CGRectDivide

Rud*_*vič 5 null pointers core-graphics objective-c

在下面的代码中,是否可以摆脱nothing变量?

CGRect startTableViewFrame;
CGRect nothing;
CGRectDivide(tableViewFrame,
             &nothing,
             &startTableViewFrame,
             searchBarHeight - contentOffset,
             CGRectMinYEdge);
Run Code Online (Sandbox Code Playgroud)

NULL似乎不起作用.有小费吗?

谢谢!

nie*_*bot 7

好吧,你可以做到这一点

CGRectDivide(tableViewFrame,
             &(CGRect){},
             &startTableViewFrame,
             searchBarHeight - contentOffset,
             CGRectMinYEdge);
Run Code Online (Sandbox Code Playgroud)

甚至这个:

MyCGRectDivide( CGRect r, CGRect * slice, CGRect * remainder, CGFloat d, CGRectEdge edge )
{
    slice = slice ? slice : &(CGRect){} ;
    remainder = remainder ? remainder : &(CGRect){} ;

    CGRectDivide( r, slice, remainder, d, edge ) ;
}
Run Code Online (Sandbox Code Playgroud)