-1

我是 iphone 开发的菜鸟,在尝试实现 Glass Buttons 时遇到了一个奇怪的问题(在此处找到)。我的构建失败,因为我在 MOGlassButtons.m 文件中收到“程序错误中的意外@”。我无法找到有关如何解决此问题的任何信息。任何帮助是极大的赞赏。

MOGlassButton.m

self.gradientLayer1.colors = @[(id)[MO_RGBACOLOR(255, 255, 255, 0.45) CGColor], (id)[MO_RGBACOLOR(255, 235, 255, 0.1) CGColor]]; //<--"unexpected @ in program error" 

self.gradientLayer2.colors = @[(id)[MO_RGBACOLOR(205, 205, 205, 0) CGColor], (id)[MO_RGBACOLOR(235, 215, 215, 0.2) CGColor]]; //<--"unexpected @ in program error" 

编辑

#import "MOGlassButton.h"

// Courtesy of https://github.com/facebook/three20
#ifndef MO_RGBCOLOR
#define MO_RGBCOLOR(r,g,b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1]
#endif
#ifndef MO_RGBCOLOR1
#define MO_RGBCOLOR1(c) [UIColor colorWithRed:c/255.0 green:c/255.0 blue:c/255.0 alpha:1]
#endif
#ifndef MO_RGBACOLOR
#define MO_RGBACOLOR(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
#endif
4

1 回答 1

1

您的问题可能是您正在运行的 Xcode 版本过时。您的代码使用自 Xcode 4.4 起受支持的 Objective-C 文字(@[…]部分),因此在早期版本中无效。(请参阅Xcode 4.4 发行说明中提到的“Objective-C Literals”的详细信息是什么?

升级应该可以解决您的问题。

编辑

或者,虽然我强烈建议更新,但您可以使用以下内容。

[NSArray arrayWithObjects: (id)[MO_RGBACOLOR(255, 255, 255, 0.45) CGColor], (id)[MO_RGBACOLOR(255, 235, 255, 0.1) CGColor], nil];
于 2013-03-22T00:50:51.540 回答