我试图在MyThing.m中声明另一个窗口
@property (nonatomic, strong) UIWindow *window;
但是得到这个错误
在课程延期中非法重新申报财产 " MyThing" (属性必须是' readwrite',而它的主要属性 必须是' readonly')
如果我将窗口重命名为其他内容,则可以。这是为什么?窗口是否应在AppDelegate.h中声明一次?
答案 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