如何设置UISegmentedControl的初始选择

时间:2015-04-04 12:43:41

标签: ios xcode6 interface-builder

我在OS X 10.10中使用Xcode 6。

在我的UIViewController中,我有一个UISegmentedControl的Outlet,有两个段:

@property (strong, nonatomic) IBOutlet UISegmentedControl *cardModeButton;

在IB中,我将段0标记为已启用并已选中。

IB Attributes Inspector with Segment 0 Enebled and Selected

然而,

self.game.nCardGame = self.cardModeButton.selectedSegmentIndex

返回nil。

尝试以编程方式设置选择也没有帮助。

self.cardModeButton.selectedSegmentIndex = 0; // or
[self.cardModeButton setSelectedSegmentIndex:0];

在任何情况下,调试器都会显示未设置该值。

(lldb) po self.cardModeButton.selectedSegmentIndex
<nil>

触摸按钮按预期工作。 但是,在触摸任何按钮之前,应该有一个定义良好的初始状态。何呢?

1 个答案:

答案 0 :(得分:3)

假设您的断点位于viewDidLoad或之后,我相信调试器可能会误导您。由于selectedSegmentIndex是NSInteger,因此“po”(打印对象)命令应该给您一个错误。它似乎取零值并将其视为零指针。

使用“p(NSInteger)self.cardModeButton.selectedSegmentIndex”查看值。