今天看开源的第三方类SWRevealViewController.m,看到了OC语言中简单的指针应用。在此记录下来
- (CGFloat)frontLocationForPosition:(FrontViewPosition)frontViewPosition
{
CGFloat revealWidth;
CGFloat revealOverdraw;
CGFloat location = 0.0f;
int symetry = frontViewPosition<FrontViewPositionLeft? -1 : 1;
//传入指针&revealWidth 和 &revealOverdraw。
[_c _getRevealWidth:&revealWidth revealOverDraw:&revealOverdraw forSymetry:symetry];
[_c _getAdjustedFrontViewPosition:&frontViewPosition forSymetry:symetry];
if ( frontViewPosition == FrontViewPositionRight )
location = revealWidth;
else if ( frontViewPosition > FrontViewPositionRight )
location = revealWidth + revealOverdraw;
return location*symetry;
}
//给传入的指针赋值 参数指针声明 (CGFloat*)pRevealWidth (CGFloat*)pRevealOverdraw
- (void)_getRevealWidth:(CGFloat*)pRevealWidth revealOverDraw:(CGFloat*)pRevealOverdraw forSymetry:(int)symetry
{
if ( symetry < 0 ) *pRevealWidth = _rightViewRevealWidth, *pRevealOverdraw = _rightViewRevealOverdraw;
else *pRevealWidth = _rearViewRevealWidth, *pRevealOverdraw = _rearViewRevealOverdraw;
if (*pRevealWidth < 0) *pRevealWidth = _contentView.bounds.size.width + *pRevealWidth;
}