我用3 UITextField
创建了简单的gui添加了一个按钮,当点击提交时,为测试我打印了3个文本值...我在每个字段的文本框中键入...我在这里缺少什么?我应该先将它保存到移动设备的磁盘上吗?提交?
IOS版本5.0 beta
#import <UIKit/UIKit.h>
@interface CloudClientViewController : UIViewController
{
@private
UITextField *usernameData;
UITextField *passwordData;
UITextField *ngccData;
UIButton *submitButton;
}
@property (nonatomic,retain) IBOutlet UITextField *usernameData;
@property (nonatomic,retain) IBOutlet UITextField *passwordData;
@property (nonatomic,retain) IBOutlet UITextField *ngccData;
@property (nonatomic,retain) UIButton *submitButton;
-(IBAction)submitButton:(id)sender;
@end
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
/*
Allocting memory for the username password and the ngcc server
*/
usernameData = [[UITextField alloc]init];
passwordData = [[UITextField alloc]init];
ngccData = [[UITextField alloc]init];
}
-(IBAction)submitButton:(id)sender
{
NSLog(@"The value that was entered to usernameData is: %@",usernameData.text);
NSLog(@"The value that was entered to passwordData is: %@",passwordData.text);
NSLog(@"The value that was entered to ngccData is: %@",ngccData.text);
}
现在当gui提示时,我只是在UITextField字段中输入test作为字符串,然后单击submit,我希望将测试字符串视为值,而不是看到null。
想法?
GNU gdb 6.3.50-20050815(Apple版gdb-1705)(2011年7月5日星期二07:28:08) 版权所有2004 Free Software Foundation,Inc。 GDB是免费软件,由GNU通用公共许可证涵盖,您就是 欢迎在某些条件下更改和/或分发它的副本。 输入“show copying”查看条件。 GDB完全没有保修。输入“show warranty”了解详情。 此GDB配置为“x86_64-apple-darwin”.sharedlibrary apply-load-rules all 附加到处理10248。 2011-07-27 16:52:56.235 CloudClient [10248:207]输入usernameData的值为:(null) 2011-07-27 16:52:56.237 CloudClient [10248:207]输入到passwordData的值为:(null) 2011-07-27 16:52:56.238 CloudClient [10248:207]输入到ngccData的值为:(null)
答案 0 :(得分:0)
您定义了三个IBOutlet属性,建议在加载视图时从nib文件加载文本字段。
加载视图后,您创建指定支持这些属性的ivars以指向新文本字段。这会泄漏您从笔尖实际加载的所有文本字段。它还为您提供了属性,这些属性指向尚未添加到视图中且不可见的文本字段。
然后在视图中的一个文本字段中输入文本(从笔尖加载),并想知道为什么在-viewDidLoad中创建的完全不同的文本字段不包含您输入的文本。