Iphone 两个不同的头文件一个实现文件

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

头文件: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文件

#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;