OC中简单的指针用法

     今天看开源的第三方类SWRevealViewController.m,看到了OC语言中简单的指针应用。在此记录下来

    

- (CGFloat)frontLocationForPosition:(FrontViewPosition)frontViewPosition

{

    CGFloat revealWidth;

    CGFloat revealOverdraw;

    

    CGFloat location = 0.0f;

    

    int symetry = frontViewPosition

//传入指针&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;

}


你可能感兴趣的:(小芝麻)