将存储在 IBAction 中的值传递给下一个 Nib UITextField。

Posted

技术标签:

【中文标题】将存储在 IBAction 中的值传递给下一个 Nib UITextField。【英文标题】:Passing a value stored in IBAction to the next Nib UITextField. 【发布时间】:2012-02-18 16:56:44 【问题描述】:

我正在尝试构建一个由一组值是常量和一些值是变量组成的计算器。

计算器将首先从 UIButton 启动,我想使用 IBAction 将常量值数字存储在 UIButton 中。然后通过触摸按钮将启动计算器,并在 UITextField 上显示常量值。

我的问题是,我可以输入什么代码来将常量值存储在 IBAction 的代码中并将其显示在下一个 nib 文件 UITextField 中。以下是我当前的代码。

非常感谢。

 - (IBAction)runningtrack:(id)sender 

int length = 400;
int width = 30;

 track *myView3 =[[track alloc] initWithNibName:nil bundle:nil];
        [myView3 setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        [self presentModalViewController:myView3 animated:YES];
    

【问题讨论】:

【参考方案1】:

你需要在track类中声明属性或者自定义init方法。

    房产

    track *myView3 =[[track alloc] initWithNibName:nil bundle:nil];
    track.valueForTextField = width; //valueForTextField is a int property in track class
    

    自定义初始化:

    track *myView3 =[[track alloc] initWithNibName:nil bundle:nil andMyValue:width];
    

【讨论】:

【参考方案2】:

你可以使用委托方法或轻松(不是首选)我们 NSUSerDefaults。如果你使用 NSUserDefaults,你的代码会是这样的。

- (IBAction)runningtrack:(id)sender 

int length = 400;
int width = 30;
NSNumber *theNumber = [NSNumber numberWithInt:<lenght&with or which int value you will save>];//NSUSerDefaults saves property list objects, so convert int to NSNumber
NSUserDefaults *savedValue=[NSUserDefaults standartuserdefault];
[savedValue setObject:theNumber forKey:@"myConst"];
 track *myView3 =[[track alloc] initWithNibName:nil bundle:nil];// by the way i don't think initWithNibName:nil give a proper response, it must crash
        [myView3 setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
        [self presentModalViewController:myView3 animated:YES];
    

在另一个类中(有你想要显示 tat 值的 .xib)

  NSNumber *yourValue=[[NSUserDefaults standartuserdefault] objectForKey:@"myConst"];
UITextView *yourTextView=...
yourTextView.text=yourValue;

【讨论】:

【参考方案3】:

您需要编写以下自定义初始化方法。

track *myView3 =[[track alloc] initWithNibName:nil bundle:nil customLength:400 customWidth:300];

在使用上述代码之前,您必须按照以下步骤操作。

    在track.h头文件中,添加自定义init方法声明。

    - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle customLength:(int) customWidth:(int);

    在 track.m 文件中,添加自定义方法定义。

    - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle customLength:(int) customWidth:(int) /*You can use the customLength and customWidth here */

【讨论】:

以上是关于将存储在 IBAction 中的值传递给下一个 Nib UITextField。的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 2007 - OpenArgs 没有将值传递给下一个表单?

如何在javascript fetch中存储访问令牌并传递给下一个api调用

Django:如何通过 AJAX 将 PKID 列表传递给下一个视图,然后重定向

(iOS + Firebase)无法将图像从 UITableViewCell 传递给下一个 ViewController

如何将变量传递给下一个视图?

变量的值传递