如何从第二个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/