2014-09-30 67 views
0

我有一个类SSENoteTrack,它符合两个协议,SSETrackSSENoteContainer。这两方面的协议,声明在接口文件中的@属性:无法设置协议的合成属性布尔

@property (nonatomic, assign, getter = isMuted) BOOL muted; 

SSENoteTrack.h,我综合物业。

@synthesize muted; 

SSENoteTrack的实例上,该属性以nil开头。我尝试设置它在另一个阶级的代码如下所示:

[track setMuted:YES] 

我可以将属性设置为YES就好了。但是,我无法将该属性设置为NO。例如行后[track setMuted:NO],track.isMuted返回nil

很奇怪的问题。也许这是因为我的协议设置的方式?谢谢!

+2

我认为零和No是相同的东西,即。零 – 2014-09-30 19:24:01

+0

是不是你想要的,因为'track.isMuted'返回false,即'nil'或'NO'? – 2014-09-30 19:24:40

+0

是的,我是个白痴。看到这个SO帖子:http://stackoverflow.com/a/4289697/1539826 我在lldb打字po检查isMuted,而不是p,这就是为什么我得到'零'不0. 0. – rizzes 2014-09-30 19:34:35

回答