我是一个完全的初学者,并希望学习如何开始编码来构建我自己的应用程序。 我一直在搞乱经典的“Hello World”设计,并试图根据我过去一周收集到的有限知识来改进它,但我已经陷入困境,希望有人可以帮助我!
到目前为止,我有一个UITextField供用户输入他们的名字,一个标签显示他们的名字,一个按钮来更新显示。为了更好地理解UIAlertViews,如果输入的名称是Chris(或chris),则还包括一个Alert,如果输入的名称不是Chris,则还包含另一个警报。到目前为止,这一切都正常运作。
我想跟踪我在不正确的名称UIAlertView上按下了什么按钮,然后更新我的UILabel,如果他们点击“我想要被称为克里斯”按钮,则说“Chris”。我之前从教程中构建了另一个类似于此的应用程序,我已经复制了代码,我认为它应该起到相同的作用,但它似乎无法工作。
到目前为止,这是我的.m文件
#import "Solo1ViewController.h"
@interface Solo1ViewController ()
@end
@implementation Solo1ViewController
@synthesize setMessage;
@synthesize userName;
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *buttonTitle=([alertView buttonTitleAtIndex:buttonIndex]);
if ([buttonTitle isEqualToString:@"I Want To Be Called Chris!"])
{setMessage.text=@"Chris";}
}
-(IBAction)showMessage:(id)sender
{
setMessage.text=userName.text;
if ([userName.text isEqual:@"Chris"] || [userName.text isEqual:@"chris"])
{
UIAlertView *correctName;
correctName = [[UIAlertView alloc]initWithTitle:@":)" message:@"Great Name!" delegate:nil cancelButtonTitle:@"Bye Fellow Chris" otherButtonTitles:nil, nil];
[correctName show];
}
else
{
UIAlertView *incorrectName;
incorrectName=[[UIAlertView alloc] initWithTitle:@":(" message:@"Chris is a Better Name" delegate:nil cancelButtonTitle:@"No, Thanks" otherButtonTitles:@"I Want To Be Called Chris!", nil];
[incorrectName show];
}
}
-(IBAction)removeKeyboard:(id)sender{
[userName resignFirstResponder];
}
对我而言,这似乎应该可行,但我想我可能会错过一些明显的东西,或者我完全错了。
答案 0 :(得分:1)
确保将提醒视图的委托设置为self
!现在,您将委托设置为nil
。
示例:
incorrectName=[[UIAlertView alloc] initWithTitle:@":(" message:@"Chris is a Better Name" delegate:self cancelButtonTitle:@"No, Thanks" otherButtonTitles:@"I Want To Be Called Chris!", nil];