所以我有以下initialize
方法:
+(void)initialize
{
static BOOL init = NO
if init == NO
{
NSDictionary *dict = @{NSFontAttributeName......};
init = YES;
}
}
现在,我有一个方法 - drawer
,需要dict
-(void) drawer:(CGRect)rect
{
[self.string drawInRect:CGRect........... withAttributes:dict];
}
当我拨打dict
中的drawer
时,Xcode会说 - “使用未声明的标识符dict
。为什么会发生这种情况?有人可以帮助我吗?我怎么能得到这个?访问dict
的方法?
答案 0 :(得分:2)
如您所知,dict
中的+(void)initialize
是该函数的局部变量。因此,在-(void)drawer:
中,您无法访问dict
,因为它不在同一范围内。
如果要将dict
用作可在任何地方访问的全局变量,请将其声明为函数范围。