0

ヘッダー ファイル: 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で機能します助けてくれてありがとう。

バイキングの新要素

設定VC.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

設定VC.mファイル

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

1 に答える 1

0

回答を編集しました。これにより、すべてが明確になります。UIStepper は 1 つのクラス (この場合は 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 を解放するので、明示的に解放しないでください。

于 2012-04-21T01:15:38.883 に答える