我遇到了奇怪的行为。我曾经有:@property (nonatomic) ApplicationState applicationState;
直接在我的Application类中。现在将其提取到协议
@protocol ApplicationProtocol <NSObject>
@property (nonatomic) ApplicationState applicationState;
ApplicationState是枚举
typedef NS_ENUM(NSUInteger, ApplicationState)
{
ApplicationStateNormal = 0,
ApplicationStateExpanded = 1,
ApplicationStateMaximized = 2
};
现在。它曾经工作。现在这样的行:
self.applicationState = ApplicationStateMaximized;
从实现类调用不会产生任何效果。
更新
Agy,rickster您都是对的。我忘了补充说明,我已经在实现类中综合了属性。我没有注意到的是,我的同事添加的getter始终返回相同的值(不幸的是,IDE在我重复类中的属性之前不会显示此访问器)
最佳答案
您需要综合属性:
@implementation Application
@synthesize applicationState = _ applicationState;
@end
或再次声明该属性:
@interface Application : NSObject <ApplicationProtocol>
@property (nonatomic) ApplicationState applicationState;
@end