我最近观看了一些有关如何使用 Objective C 和 Cocoa 进行编程的 Lynda 教程。来自 PHP 和 C# 的背景,一件事引起了我的注意 - 事件处理。当我观看教程时,导师正在进行子类化以便附加到事件。
他最终讨论了创建委托(delegate)并以这种方式附加到事件 - 更好,但仍然不如 C# 那么容易。然而,我后来发现并不是所有的东西都有委托(delegate),这使得事情变得更加困难。
我一直在互联网上搜索一种无需创建子类即可处理事件的方法,这样我就不会得到这个具有大量文件的应用程序,但没有成功。
我特别尝试附加到 NSSlider 对象的 mouseLeave 或 mouseOut 事件,以便我可以在完成滑动后隐藏标签。
是否有某种方法可以在不进行任何子类化的情况下附加到事件,或者在子类之后创建子类是我应该习惯的事情?
最佳答案
有几种事件处理方法。 就像你说的,子类化可能是最简单的。 使用委托(delegate)是另一种方式。在我看来往往是最好的。 另一种选择是使用 block 。
在我看来,Objective-C 非常结构化,而且我比 C# 更喜欢它。
关于objective-c - 没有子类化的事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888917/