目标c无法定义宏

时间:2013-03-08 08:27:51

标签: iphone ios objective-c cocos2d-iphone

我有这个

#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'是存储游戏得分等的游戏经理(单身人士)

1 个答案:

答案 0 :(得分:8)

它是standardUserDefaults(带有s)。

两种风格的笔记:

  • Cocoa不鼓励使用缩写。
  • 您应该考虑删除宏,因为它们使代码的可读性和可理解性降低,正如您的拼写错误所示。