代码之家  ›  专栏  ›  技术社区  ›  Ross

在类方法中访问singleton实例变量会引发警告?

  •  0
  • Ross  · 技术社区  · 16 年前

    我已经用过了 Objective-C singleton from here at stackoverflow .

    类方法中的singleton访问它的实例变量,该变量可以工作,但会引发complie警告。我该怎么做?有没有办法不用访问 sharedInstance: 在每个类方法中?

    例如,下面是我的类方法:

    + (NSString *)myClassMethods {
        [instanceDateFormatter setFormat:@"MM"];
        return [instanceDateFormatter stringWithDate:somedate];
    }
    

    第2行将显示complie警告。

    谢谢, 罗斯

    2 回复  |  直到 16 年前
        1
  •  3
  •   Carl Norum    16 年前

    你应该使用 sharedInstance: 调用每个类方法。我猜如果你 真的? 你可以用全局变量来处理它,但是 正确的 解决办法如你所说。

        2
  •  2
  •   mipadi    16 年前

    自从 instanceDataFormatter 是一个实例变量,您必须通过一个类实例来访问它——所以您需要通过 sharedInstance 方法获取它。或者,您可以通过静态singleton变量访问它,绕过对 共享实例 (但是,如果静态变量尚未初始化,则可能会中断)。