两个相同的警报视图按顺序显示。如何区分警报1和警报2中的文本?

时间:2014-09-02 22:28:25

标签: ios xcode ios7

在我的应用程序中,我显示第一个警报视图,询问密码和用户ID,后跟:

 NSString username1 = [alertView textFieldAtIndex:0].text;
 NSString password1 = [alertView textFieldAtIndex:1].text;

接下来,我第二次显示确切的警报视图,但这次是空的并且使用不同的消息只是为了在创建凭据之前确认密码和用户ID。接下来是:

 NSString username2 = [alertView textFieldAtIndex:0].text;
 NSString password2 = [alertView textFieldAtIndex:1].text;

但是看起来像username2和password2从username1和password1中获取值。事实上,如果我在username2中键入不同的值,例如,它会反映在username1!

我读到某处我应该使用名为' tag'的东西。那么如何将这个标签与#39;标记相关联?凭证而不是凭证2,以便我从alert1和alert2获得独立的值?为了比较这些值并确保用户输入正确的凭证。

或者,还有其他一些简单的(r)方法吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

由于使用的UITextField是相同的,因此NSString属性返回的text指针将始终反映字段中的任何内容,而不管您当时的内容如何进入酒店。您需要copy字符串:

NSString username1 = [[alertView textFieldAtIndex:0].text copy];
NSString password1 = [[alertView textFieldAtIndex:1].text copy];

如果您不使用ARC,那么当然您还必须在完成后释放这些:

[username1 release];
[password1 release];