如何在另一个函数中使用Alertview的UITextField值?

时间:2012-12-04 10:37:47

标签: iphone xcode uitextfield uialertview

我的Alertview中有一个UITextField。现在我想在Another Function中使用这个UITextfield值。 请看下面的代码。

我的Alertview代码:

 -(void)AlertView 
{
UIAlertView *alert = [[UIAlertView alloc] init];

alert.title = @"Used Defualt Name Or you Can Save Recoring With Your Own Name";
alert.message = @"";
alert.delegate = self;
[alert addButtonWithTitle:@"Cancel"];
[alert addButtonWithTitle:@"OK"];   
myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 82.0, 260.0, 25.0)];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert show];
[alert release];

 }
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {

NSLog(@"name:%@   buttonID:%d",myTextField.text,buttonIndex);
if (buttonIndex == 1) {
    btnPlay.enabled=YES;

    mySongname = myTextField.text;
     NSLog(@"song name:%@  ",mySongname);
}
else {
   btnPlay.enabled=YES;
}
}

我将变量mysongname声明为我的班级的全局,因为我在这里使用它在同一个我在下面的函数中有alertview的地方。

-(IBAction)playButton:(id)sender
{ 
 // mySongname=@"my fourite songs";
  NSString *fina = [NSString stringWithFormat:@"%@",mySongname];
}

现在在上面的函数mysongname显示超出范围值。但是当我删除我在上面的函数中显示的注释时,它工作正常。我不知道为什么它没有通过这里的UITextfield。

2 个答案:

答案 0 :(得分:2)

尝试设置属性并合成mySongname,并使用self.mySongname = myTextField.text设置值;

答案 1 :(得分:0)

只需声明一个字符串对象并设置其值,并将其值用于类

中的警报视图