gpt4 book ai didi

objective-c - 如果文本字段为空,则将 "informative text"添加到警报

转载 作者:行者123 更新时间:2023-12-03 17:49:19 24 4
gpt4 key购买 nike

我正在尝试编写一个 NSAlert 代码,当某些 NSTextFields 为空时,它就会出现。我有 3 个 NSTextFields,我想要一个 NSAlert 来显示列表中哪个 TextField 为空。我可以对一个文本字段执行此操作,但如何编码才能使空的 NSTextFields 出现在 Alert 中?如果 Altert 中的一个文本字段为空,则应显示“TextField 1 为空”。如果字段 1 和 2 为空,则应显示“文本字段 1 为空”,第二行应显示“文本字段 2 为空”。

这是我的代码:

if ([[TextField1 stringValue] length] == 0) {
NSAlert* alert = [[NSAlert alloc] init];
[alert addButtonWithTitle:@"OK"];
[alert setMessageText:@"Error"];
[alert setInformativeText:@"TextField 1 is empty"];
[alert beginSheetModalForWindow:[self.view window] completionHandler:^(NSInteger result) {
NSLog(@"Success");
}];
}

最佳答案

您可以通过通知自动获取信息。

  • 将标签 1、2、3 分配给文本字段。
  • 将 Interface Builder 中所有文本字段的委托(delegate)设置为您要在其中显示警报的类。
  • 实现此方法

    - (void)controlTextDidChange:(NSNotification *)aNotification
    {
    NSTextField *field = [aNotification object];
    if ([[field stringValue] length] == 0) {
    NSInteger tag = field.tag;
    NSAlert* alert = [[NSAlert alloc] init];
    [alert addButtonWithTitle:@"OK"];
    [alert setMessageText:@"Error"];
    [alert setInformativeText:[NSString stringWithFormat:@"TextField %ld is empty", tag]];
    [alert beginSheetModalForWindow:[self.view window] completionHandler:^(NSInteger result) {NSLog(@"Success");}];
    }
    }

关于objective-c - 如果文本字段为空,则将 "informative text"添加到警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com