2012-08-29 60 views
1
@interface Demo2ViewController() <GMGridViewDataSource, GMGridViewSortingDelegate, GMGridViewTransformationDelegate> 
{ 
    __gm_weak GMGridView *_gmGridView1; 
    __gm_weak GMGridView *_gmGridView2; 

    __gm_weak UIButton *_buttonOptionsGrid1; 
    __gm_weak UIButton *_buttonOptionsGrid2; 

    UIPopoverController *_popOverController; 
    UIViewController *_optionsController1; 
    UIViewController *_optionsController2; 
} 

嘗試了GMGridview,看到這個__gm_weak GMGridView * _gmGridView1 ;.任何人都知道__gm_weak是什麼意思,什麼時候使用__?提前致謝。什麼是iOS中的__gm_weak手段

回答

4

這些聲明是不常見的,它們在GMGridView源代碼中定義:

// 
// ARC on iOS 4 and 5 
// 

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_5_0 && !defined (GM_DONT_USE_ARC_WEAK_FEATURE) 
#define __gm_weak __weak 
#else 
#define __gm_weak __unsafe_unretained 
#endif 

至於雙下劃線的使用,我會建議反對。只是考慮它爲實現(例如工具鏈)保留並使用正常標識符。