将存储在 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