如何设置 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"查看值。
我正在使用 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"查看值。