gpt4 book ai didi

objective-c - 如何比较NSEvent的trackingArea来查看哪个trackingArea触发了 "theEvent"

转载 作者:行者123 更新时间:2023-12-03 17:22:09 25 4
gpt4 key购买 nike

所以,我有这个 mouseEntered 事件,如果我鼠标进入跟踪区域,该事件将使标签可见。但是,根据输入的跟踪区域,我想为标签设置自定义字符串。

主要问题是:如何获取输入的跟踪区域。

这是我的代码:

-(void)mouseEntered:(NSEvent *)theEvent
{
if([theEvent trackingArea] isEqual: -- to my trackingArea --)
{
[self.label setStringValue:@"Test"];
}
}

最佳答案

听起来像 Spaghetti code 的开头对我来说..

即:检查一个 View 是否由另一个 View 触发某些内容 - 我想您正在尝试实现某种在线帮助系统,并为各种 View /控件显示一些文本。在这种情况下,您可能很容易得到一个巨大的 if-then-else block 和数十个需要检查的 View 。

无论如何,我建议使用不同的方法并拥抱 loose coupling在您的代码中:

让实际拥有跟踪区域的 View 发送一条通知,其中包含它希望其他人显示的字符串怎么样?

这样 View 就不需要彼此了解,不需要设置实例变量来指向彼此,等等 - 只是有人发送而其他人会监听的通知。

干净、可维护、易于扩展。

关于objective-c - 如何比较NSEvent的trackingArea来查看哪个trackingArea触发了 "theEvent",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003113/

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