我有一个来自标准模板的 iPhone 实用程序应用程序,所以我有MainViewController
并且FlipsideViewController
它被初始化和调用controller.
在controller's
xib 中,我有一个UISwitch
被调用pathSwitch
和一个UISegmentedControl
被调用locationSelector
,它们是插座(并且已连接!)当我调用该showInfo:(id)sender
方法时,我执行以下操作:
[编辑] 添加controller...
[编辑 2] 的界面 更新界面以显示添加的属性
- (IBAction)showInfo:(id)sender {
ALog(@"method begin...");
FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"FlipsideView" bundle:nil];
DLog(@">sun path visible = %@, setting flip side controller switch", sunPathIsVisible ? @"YES" : @"NO");
// deleted -> [controller.pathSwitch setOn:sunPathIsVisible];
controller.sunPathIsVisible = sunPathIsVisible; // added this
DLog(@">location mode is %d, setting flip side controller segment index to %d - 1 = %d", locationMode, locationMode, locationMode - 1);
// deleted -> controller.locationSelector.selectedSegmentIndex = locationMode - 1;
controller.delegate = self;
controller.locationMode = locationMode; // added this
controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:controller animated:YES];
[controller release];
}
@interface FlipsideViewController : UIViewController {
id <FlipsideViewControllerDelegate> delegate;
int locationMode; // added this
UISegmentedControl *locationSelector;
BOOL sunPathIsVisible;
UISwitch *pathSwitch;
}
@property (nonatomic, assign) id <FlipsideViewControllerDelegate> delegate;
@property int locationMode; // added this
@property (nonatomic, retain) IBOutlet UISegmentedControl *locationSelector;
@property BOOL sunPathIsVisible; // added this
@property (nonatomic, retain) IBOutlet UISwitch *pathSwitch;;
- (IBAction)done:(id)sender;
- (IBAction)cancel:(id)sender;
@end
// There's also the `protocol` stuff, but I left that out here...
问题是控件不接受它们的值并且总是显示段 0 和 OFF。如果我在方法中设置它们的属性controller's
viewWillAppear
,它们会显示正确的设置。
我这样做的时候是controller
不是满载什么的?