Iphone 两个不同的头文件一个实现文件
头文件:SettingsVC.h ViewController.h 实现文件:SettingsVC.m ViewController.m 在ViewController.m中,我使用顶部的这行代码导入了SettingsVC.h 导入“setingsvc.h” 因此,我可以从不同的角度从步进器中获得一个值 在SettingsVC.h中,我有一行代码,上面写着IBOutlet UIStepper*mainStepper 分配给步进机的 当我尝试通过执行mainStepper.value从ViewController.m访问stepper的值时,它不起作用,但在设置中起作用。m感谢您的帮助 维京人的新东西 设置svc.h文件Iphone 两个不同的头文件一个实现文件,iphone,xcode,header,Iphone,Xcode,Header,头文件:SettingsVC.h ViewController.h 实现文件:SettingsVC.m ViewController.m 在ViewController.m中,我使用顶部的这行代码导入了SettingsVC.h 导入“setingsvc.h” 因此,我可以从不同的角度从步进器中获得一个值 在SettingsVC.h中,我有一行代码,上面写着IBOutlet UIStepper*mainStepper 分配给步进机的 当我尝试通过执行mainStepper.value从ViewCo
#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
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
我编辑了我的答案,这应该让一切都清楚了。您只在一个类中创建UIStepper,在本例中为SettingsVC。然后,您可以通过其他类中的属性检索变量,只需导入setingsvc 您需要在setingsvc.h中创建属性
#import <UIKit/UIKit.h>
@interface SettingsVC : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> {
// Your other instance variables
}
@property (nonatomic, strong) UIStepper *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
您将在其他类中使用此属性,因此需要保留此属性。通常仅对基本值(如布尔值)使用赋值
@property (nonatomic, strong) UIStepper *mainStepper;
编辑:ARC将自动为您发布settingsVC,因此永远不会明确发布。请发布相关文件的完整部分好吗?要将它们格式化为代码,请用四个空格缩进。您需要发布相关代码。我认为这就是所有相关内容。只需要知道如何从视图控制器实现文件访问mainStepper。这足以让您知道发生了什么,还是需要其他东西?它不允许我合成(at)属性(非原子,retain)IBOutlet UIStepper*mainsteper;通过这样做(在)一个地方;我照你说的做了,实现文件中有一个错误,它说属性实现必须在接口控制器中声明。我编辑了这个问题以向您显示新文件。请注意,它们是两个不同故事板的两个不同类文件。您必须在SettingsVC中合成属性。麻省理工学院仍然有一个问题,说mainStepper是一个未声明的标识符。@user1342573检查我最近的编辑。这应该把一切都说清楚。这是如何在另一个类中获取stepper值的完整示例。
#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
@property (nonatomic, strong) UIStepper *mainStepper;