头文件:SettingsVC.h ViewController.h
实施文件:SettingsVC.m ViewController.m
在ViewController.m中,我使用顶部的
这行代码导入了SettingsVC.h导入“SettingsVC.h” 所以我可以从不同的视图中获取步进器的值。
在SettingsVC.h中,我有一行代码表示IBOutlet UIStepper * mainStepper;
分配给步进器。
当我尝试通过执行此mainStepper.value从ViewController.m访问步进器的值时,它不起作用,但它在Settings.m中有效。感谢您的帮助。
维京人的新东西
SettingsVC.h FILE
#import <UIKit/UIKit.h>
@interface SettingsVC : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> {
IBOutlet UILabel *mainTimeShow;
IBOutlet UILabel *armTimeShow;
IBOutlet UILabel *defuseTimeShow;
IBOutlet UIStepper *armStepper;
IBOutlet UIStepper *defuseStepper;
IBOutlet UIStepper *mainStepper;
}
-(IBAction)goToClock;
@property (nonatomic, retain) UIStepper *mainStepper;
-(IBAction)mainTimeStepper;
-(IBAction)armTimeStepper;
-(IBAction)defuseTimeStepper;
@end
SettingsVC.m FILE
#import "SettingsVC.h"
@interface SettingsVC ()
@end
@implementation SettingsVC
@synthesize mainStepper;
@end
ViewController.m文件
#import "ViewController.h"
#import "SettingsVC.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)here {
SettingsVC.mainStepper.value; //Property mainStepper not found on object of type 'SettingsVC'
}
@end
答案 0 :(得分:0)
我编辑了我的答案,这应该让一切都清楚。您只在一个类中创建UIStepper,在本例中为SettingsVC。然后,您可以通过其他类中的属性检索变量,只需导入SettingsVC。
您需要在SettingsVC.h中创建属性
#import <UIKit/UIKit.h>
@interface SettingsVC : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> {
// Your other instance variables
}
@property (nonatomic, strong) UIStepper *mainStepper;
@end
您需要在SettingsVC.m
中合成该属性#import "ViewController.h"
#import "SettingsVC.h"
@implementation SettingsVC
@synthesize mainStepper;
@end
假设您有一个名为ViewController的类。你可以像这样访问UIStepper的值:
#import "ViewController.h"
#import "SettingsVC.h"
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
SettingsVC *settingsVC = [[SettingsVC alloc] init];
settingsVC.mainStepper.value = 23.0;
NSLog(@"%f", settingsVC.mainStepper.value);
}
@end
您将在其他类中使用它,因此您需要保留此属性。您通常只使用带有原始值的赋值,例如BOOL。
@property (nonatomic, strong) UIStepper *mainStepper;
编辑:ARC将自动为您释放settingsVC,因此永远不会明确释放。