如何设置 UISegmentedControl 的初始选择

How to set initial selection of UISegmentedControl

我正在使用 Xcode 6 和 OS X 10.10。

在我的 UIViewController 中,我有一个带有两个段的 UISegmentedControl 的出口:

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

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

然而,

self.game.nCardGame = self.cardModeButton.selectedSegmentIndex

returns 无。

尝试以编程方式设置选择也无济于事。

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

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

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

触摸按钮按预期工作。 然而,在触摸任何按钮之前,应该有一个明确定义的初始状态。何去何从?

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

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