我可能遗失或没有看到非常基本的东西,但我不能再调试它了。
这是我的代码:
NSLog(@"Joker Selected : %d, Prio Value is :%@",joker,[LBGameData sharedGameData].round.joker_1_used ? @"true" : @"false");
[LBGameData sharedGameData].round.joker_1_used = TRUE;
NSLog(@"End of selection, Prio Value is :%@",[LBGameData sharedGameData].round.joker_1_used ? @"true" : @"false");
以下是定义。
LBGameData
@property (strong, retain) LBGameRound* round;
+(instancetype)sharedGameData;
LBGameRound
@property (assign, nonatomic) BOOL joker_1_used;
这是我的输出:
2015-10-18 18:54:01.478 Game[804:298953] Joker Selected : 1, Prio Value is :false
2015-10-18 18:54:01.479 Game[804:298953] End of selection, Prio Value is :false
为什么我在第二个输出中看不到true
,虽然我将它设置在上面的一行?
答案 0 :(得分:1)
考虑到输出,最可能的问题是[LBGameData sharedGameData]
或[LBGameData sharedGameData].round
是nil
。
尝试访问BOOL
值中的nil
值会产生NO
值,从而产生您看到的输出。
答案 1 :(得分:0)
请尝试以下方式。
BOOL joker_1_used = [LBGameData sharedGameData].self.round.joker_1_used =TRUE;
NSLog(@"End of selection, Prio Value is :%@",joker_1_used? @"true" : @"false");
<强>输出:强>
End of selection, Prio Value is :true