如何解决未找到包含在预处理器指令中的属性
我想在预处理器中包装一个属性,但我不确定如何包装。我有这个代码:
#if PROD_BUILD
# define PROPERTIES_ON 0
#else
# define PROPERTIES_ON 1
#endif
@protocol EXPprot
@property(nonatomic,readonly) Nsstring prop1;
#if PROPERTIES_ON
@property(nonatomic,readonly) Nsstring prop2;
@property(nonatomic,readonly) Nsstring prop3;
#endif
@end
@interface EXPObject : NSObject <EXPprot>
@end
@implementation EXPObject
-(Nsstring *)prop1{
return @"";
}
#if PROPERTIES_ON
(Nsstring *)prop2{
return @"";
}
(Nsstring *)prop3{
return @"";
}
#endif
@end
@protocol EXPViewProt<NSObject>
@property(nonatomic,readonly) id<EXPProt> prot;
@end
@interface EXPView <EXPViewProt>
@end
@implementation EXPView
@synthesize prot
-(void)setProt(id<EXPProt>)prot email:(Nsstring *)email {
#if PROPERTIES_ON
[self resolveWithProperty1:prot.prop1 prop2:prot.prop2];//{1}**FAILS TO BUILD
#endif
}
@end
问题是无法识别属性,即使它们位于构建标志之后。 错误信息: “在‘__strong id’类型的对象上找不到属性‘email’” 请参阅上面的{1}。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。