@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是什么意思,你什么时候使用__?提前谢谢。
答案 0 :(得分: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
就双下划线用法而言,我建议反对它。只考虑它为实现保留(例如工具链)并使用普通标识符。