如何从第二个viewController中的inputField访问值?

第二个视图控制器的类名称是SettingsViewController,输入字段的出口名称是setRateInput。

我试过了,但是没用…

double taxRateFromInput = [[self.settings.setRateInput text]doubleValue];


当我NSLog时,其值为:(空)

知道我在做什么错吗?

这是主viewController的实现文件:

#import "SettingsViewController.h"

@interface ViewController ()

@property (strong, nonatomic) SettingsViewController * settings;

@end

@implementation ViewController

// lazy instantiation
-( SettingsViewController *) settings
{
    if (_settings == nil) {
        _settings = [[SettingsViewController alloc]init];
    }
    return _settings;
}


- (IBAction)calculatePrice:(id)sender {


    double taxRateFromInput = [[self.settings.setRateInput text]doubleValue];

@end

最佳答案

从理论上讲,您可以创建一个整体。创建一个新类,将其命名为taxRate(.h和.m)

在taxRate.h中,添加以下代码:

#import <Foundation/Foundation.h>
@class MyTaxRate;

@interface TaxRate : NSObject {


}

@property (nonatomic, retain) double * taxRateFromInput;

+(TaxRate*)getInstance;

@end


然后,在您的控制器中,在其中放入“ #import taxRate.h”。在您的.m文件中,添加以下内容:

#import "TaxRate.h"

@implementation TaxRate


@synthesize taxRateFromInput;

static TaxRate *instance =nil;

+(TaxRate *)getInstance
{
    @synchronized(self)
    {
        if(instance==nil)
        {
            instance= [TaxRate new];
        }
    }
    return instance;
}


@end


注意:这是我要构造的extremely similar结构。

关于iphone - 如何从其他UIViewController访问值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16778012/

10-12 01:29