我正在尝试在应用程序启动时运行操作。如果field1中没有文本,则动作checkAtStart应显示警告,如果field1中有文本,则隐藏startView。如果分配给按钮,checkAtStart工作正常,但是当我尝试使用(void)awakeFromNib运行它时,无论什么都会显示警报,startView永远不会隐藏。它可能是我忘记的非常简单的东西。任何帮助表示赞赏!
这是我的代码:
- (void)awakeFromNib {
[self checkAtStart:self];
}
- (IBAction)checkAtStart:(id)sender
{
if (field1.text == nil || [field1.text isEqualToString:@""]) {
NSString *msg = nil;
msg = nil;
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Test Message"
message:@"Test Message"
delegate:self
cancelButtonTitle:@"Close"
otherButtonTitles: nil];
[alert show];
[alert release];
[msg release];
}
else
{
startView.hidden = YES;
}
}
答案 0 :(得分:2)
我假设所有这些代码都在某种视图控制器中。
从pIB加载后, -awakeFromNib
将被发送到控制器。此时,除非您将这些值放在NIB文件中,否则文本字段中没有值。
您可能使用-viewDidLoad
或其他视图事件消息将模型中的某些值分配到文本字段中。这就是当你的IBAction被分配到一个按钮时,它正在发挥作用。