1

我在 AppDelegate.m 接口中创建一个属性countryNameInitials作为 NSMutableArray 并合成它。目的是存储全局数据以在表格视图中显示。在表视图控制器中:

#import "AppDelegate.h"
...

@implementation
#define AppDelegate [[UIApplication sharedApplication] delegate]
...

问题是我不能AppDelegate.countryNameInitials用来访问数据。任何的想法?

4

2 回答 2

3

事实是

 [[UIApplication sharedApplication] delegate]

会给你一个通用的UIApplcationDelegate;虽然您需要您的MyOwnAppDelegate(不知道您如何称呼它)类型才能使用您的countryNameInitials财产。所以,试试:

 #define AppDelegate ((MyOwnAppDelegate*)[[UIApplication sharedApplication] delegate])

然后

AppDelegate.countryNameInitials

应该管用。

(不过,我不会为类和宏使用相同的名称)。

于 2012-09-13T09:14:12.253 回答
0

访问的问题countryNameInitials是由于我在 AppDelegate.m 中声明了该属性。在我将它移到 AppDelegate.h 之后,错误就消失了。

旁注:1.AppDelegate因为标识符名称对我有用。@Vakio 建议的命名冲突不相关。

于 2012-09-13T10:26:10.290 回答