Ios 将值从uitextfield传递给选择器
我有UITextField的名字\u nameField 我想通过使用@Selector()将_nameField.text传递给 这是我的UitextfieldIos 将值从uitextfield传递给选择器,ios,objective-c,Ios,Objective C,我有UITextField的名字\u nameField 我想通过使用@Selector()将_nameField.text传递给 这是我的Uitextfield _nameField = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.size.height/2-100, self.view.frame.size.width/2-20, 200, 40)]; _nameField.delegate = self; [se
_nameField = [[UITextField alloc]initWithFrame:CGRectMake(self.view.frame.size.height/2-100, self.view.frame.size.width/2-20, 200, 40)];
_nameField.delegate = self;
[self.view addSubview:_nameField];
这是我的钮扣
UIButton *confirm = [[UIButton alloc]initWithFrame:CGRectMake(self.view.frame.size.height/2-50, self.view.frame.size.width/2+60, 100, 40)];
[confirm setTitle:@"Confirm" forState:UIControlStateNormal];
[confirm addTarget:self action:@selector(userSetStats:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:confirm];
这是我的用户设置状态:
-(void)userSetStats:(NSString *)name{
NSMutableDictionary *userData = [[NSMutableDictionary alloc]init];
[userData setObject:name forKey:@"Name"];
现在我可以发送值,但我得到的值是
Name = "<UIButton: 0x9a2ddd0; frame = (190 220; 100 40); opaque = NO; layer = <CALayer: 0x9a2df00>>";
Name=”“;
我试图在这个网站上找到任何答案。我找到了一些答案,但我不明白。addTarget的选择器只能是发件人。在这种情况下,不需要参数
[confirm addTarget:self action:@selector(userSetStats) forControlEvents:UIControlEventTouchUpInside];
选择器是
-(void)userSetStats
{
NSMutableDictionary *userData = [[NSMutableDictionary alloc]init];
[userData setObject:_nameField.text forKey:@"Name"];
}
有以下表格:
- (IBAction)doSomething:(id)sender;
- (IBAction)action:(id)sender forEvent:(UIEvent *)event;
其中,sender
是触发操作的控件。因此:
-(void)userSetStats:(id)sender {
NSMutableDictionary *userData = [[NSMutableDictionary alloc]init];
如果您想从(发送)按钮获取标题,则:
UIButton *button = (UIButton *)sender;
[userData setObject:button.title forKey:@"Name"];
否则,如果需要文本字段中的文本,则:
[userData setObject:_nameField.text forKey:@"Name"];
该错误消息不完整。请改正它。
[userData setObject:_nameField.text forKey:@"Name"];