我在OS X 10.10中使用Xcode 6。
在我的UIViewController中,我有一个UISegmentedControl的Outlet,有两个段:
@property (strong, nonatomic) IBOutlet UISegmentedControl *cardModeButton;
在IB中,我将段0标记为已启用并已选中。
然而,
self.game.nCardGame = self.cardModeButton.selectedSegmentIndex
返回nil。
尝试以编程方式设置选择也没有帮助。
self.cardModeButton.selectedSegmentIndex = 0; // or
[self.cardModeButton setSelectedSegmentIndex:0];
在任何情况下,调试器都会显示未设置该值。
(lldb) po self.cardModeButton.selectedSegmentIndex
<nil>
触摸按钮按预期工作。 但是,在触摸任何按钮之前,应该有一个定义良好的初始状态。何呢?
答案 0 :(得分:3)
假设您的断点位于viewDidLoad
或之后,我相信调试器可能会误导您。由于selectedSegmentIndex
是NSInteger,因此“po”(打印对象)命令应该给您一个错误。它似乎取零值并将其视为零指针。
使用“p(NSInteger)self.cardModeButton.selectedSegmentIndex”查看值。