objective-c - 如何发现每个 UI 对象发送的消息

标签 objective-c cocoa

我仍在学习 Objective C/Cocoa,并且正在构建一个具有简单界面的程序。在这个界面中,有一些 NSTextField 有这个委托(delegate):

- (void) controlTextDidChange: (NSNotification *) obj{
    //Some code here
}

当用户更改任何这些 NSTextField 的文本时,程序需要检查 NSTextField 中的数字是否为整数。如果提供的字符串不是整数,我想显示一个包含错误的对话框,并且每个 NSTexField 都发生错误,因为我有多个 NSTextField 连接到此方法。

我的问题是:如何发现每个 UI 对象都将消息发送到 controlTextDidChange 方法?

提前致谢。

最佳答案

- (void)controlTextDidChange:(NSNotification *)anotif
{
    if ([anotif object]==field1)
    {
        // field1 processing
    }
    else
    {
        // field2 processing
    }
}

来自 controlTextDidChange with 2 nstextfields - call different selectors

关于objective-c - 如何发现每个 UI 对象发送的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229912/

相关文章:

objective-c - 我可以将应用程序用作库(Mac、Objective-c)吗?

xcode - 具有图层背景颜色的 OSX NSTextField 不起作用

ios - 我可以设置 transient 属性来获取吗?

ios - 无法更改从 Nib 加载的 UIView 的高度

ios - 如何在 iOS 中创建具有动态内容的 View ?

objective-c - Grand Central Dispatch 的简单示例

iphone - 如何用科学记数法表示 NSNumber?

Objective-C 属性和内存管理

cocoa - 如何从 CVImageBuffer 对象获取原始数据

objective-c - 如何像 Pages app 那样实现 "New Document"窗口?