3

我有这个

#define sud [NSUserDefaults standardUserDefault]

然后我使用 [sud integerForKey: key]

编译警告:

Class method '+standardUserDefault' not found (return type defaults to 'id')

运行时错误:

+[NSUserDefaults standardUserDefault]: unrecognized selector sent to class 0x3c0bc850

但我可以在没有任何警告的情况下使用另一个:

#define man [Manager sharedManager]

其中'man'是存储游戏分数等的游戏经理(单例)

4

1 回答 1

8

它是standardUserDefaults(带 s)。

两种风格说明:

  • Cocoa 不鼓励使用缩写。
  • 您应该考虑删除宏,因为它们会降低代码的可读性和可理解性,正如您的拼写错误所证明的那样。
于 2013-03-08T08:31:04.403 回答