无法声明另一个窗口

时间:2014-07-12 17:48:23

标签: ios window appdelegate

我试图在MyThing.m中声明另一个窗口

@property (nonatomic, strong) UIWindow *window;

但是得到这个错误

  

在课程延期中非法重新申报财产   " MyThing" (属性必须是' readwrite',而它的主要属性   必须是' readonly')

如果我将窗口重命名为其他内容,则可以。这是为什么?窗口是否应在AppDelegate.h中声明一次?

1 个答案:

答案 0 :(得分:2)

我找出了问题,它与AppDelegate.h中声明的window属性无关。

问题是MyThing符合UIApplicationDelegate,而UIApplicationDelegate协议声明属性

@property (nonatomic, retain) UIWindow *window NS_AVAILABLE_IOS(5_0);

所以我们必须做其中任何一个

MyThing.h (就像AppDelegate.h那样)

@interface MyThing : NSObject <UIApplicationDelegate>

@property (nonatomic, strong) UIWindow *window;

@end

OR

MyThing.m (合成在协议中声明的窗口属性)

@implementation WYNAppDelegate

@synthesize window;

@end