所以我有以下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
?
'init'变量有什么意义? 'initialize'每个类只调用一次。 – rmaddy
@rmaddy:之前我实际上已经用自己的假设灼伤了自己。如果你的类涉及键值观察,'+ initialize'实际上可以被调用两次:一次在你的类中(例如'VSGame'),第二次在私有KVO类('NSKVONotifying_VSGame')中调用。所以,根据你在这种方法中做什么,你可能需要采取那种预防措施...... – NSGod