@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意味着什么,什么时候使用__?提前致谢。
最佳答案
这些声明并不常见,它们是在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
至于双下划线的用法,我建议不要这样做。只需考虑将其保留用于实现(例如工具链)并使用常规标识符即可。
关于objective-c - __gm_weak在iOS中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170935/