繁体   English   中英

依次显示两个相同的警报视图。 如何区分警报1和警报2的文本?

[英]Two identical alert views shown in sequence. How can I differentiate between texts from alert 1 and alert 2?

在我的应用程序中,我显示第一个警报视图,要求输入密码和用户名,然后输入:

 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中!

我在某处阅读,应该使用一种叫做“标签”的东西。 那么,如何将这个“标签”内容与凭据1而不是凭据2绑定在一起,以便从Alert1和Alert2获得独立的值? 为了比较这些值并确保用户输入正确的凭据。

或者,还有其他简单的方法吗?

谢谢您的帮助

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

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

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

[username1 release];
[password1 release];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM