无法在自定义NSObject上分配值

时间:2015-10-18 17:59:15

标签: ios objective-c

我可能遗失或没有看到非常基本的东西,但我不能再调试它了。

这是我的代码:

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,虽然我将它设置在上面的一行?

2 个答案:

答案 0 :(得分:1)

考虑到输出,最可能的问题是[LBGameData sharedGameData][LBGameData sharedGameData].roundnil

尝试访问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