键值观察和 NSButton 状态

2024-05-03

我试图观察复选框状态,并在复选框状态更改时在应用程序中进行适当的更改。在使用复选框管理窗口的窗口管理器中,我有以下观察者设置:

- (void)awakeFromNib
{
  [myCheckBox addObserver:self 
                  forKeyPath:@"state" 
                     options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) 
                     context:NULL];
}

- (void)dealloc
{
  [myCheckBox removeObserver:self forKeyPath:@"state"];
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
  NSLog(@"KeyPath: %@", keyPath);
  NSLog(@"ofObject: %@", object);
  NSLog(@"change: %@", change);
}

我还将 myCheckBox 连接到文件所有者(即窗口控制器)到窗口中相应的复选框。但是当我运行我的应用程序时observeValueForKeyPath:ofObject:change:context:方法从未被调用。

我究竟做错了什么?


In -awakeFromNib检查一下myCheckbox不为零。如果它为零,那么它在 IB 中连接不正确。

Edit: NSButton.state具有相同的值NSButton.cell!.state,但它不是键值可观察的。为了能够观察该值,您需要使用\.cell!.state关键路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

键值观察和 NSButton 状态 的相关文章

  • 用于在管道传输结果时链接异步操作的 GCD 模式

    来自 JavaScript 世界 使用异步 javascript 承诺 我相信在 Swift 中使用 GCD 异步队列也能完成同样的事情 你能给我举一个例子 其中在队列中指定了 2 到 3 个异步函数 其中一个异步操作将结果提供给第二个 第
  • 以编程方式设置文本后,自动链接检测在 NSTextView 中不起作用

    我有一个启用了自动链接检测的 NSTextView 当我以编程方式设置文本时 myTextView setString http google com 它不会自动显示链接 如果我在文本视图中输入任何内容 它将添加链接 我希望它添加链接 不得
  • 如何在 Objective-C 中创建委托?

    我知道代表如何工作 也知道如何使用它们 但我该如何创建它们呢 Objective C 委托是一个已分配给delegate属性另一个对象 要创建一个 您需要定义一个实现您感兴趣的委托方法的类 并将该类标记为实现委托协议 例如 假设您有一个UI
  • Swift / Cocoa 中的 windowNibName 错误?

    好吧 这将教会我用一年半的时间来定下 Swift 编程 显然事情已经改变了 在我过去的程序中 我的 MainWindowController 里面的这个非常高兴 class MainWindowController NSWindowCont
  • 如何有条件地使用新的 Cocoa API

    苹果在 10 6 中添加了 NSPropertyListSerialization dataWithPropertyList format options error 并标记较旧的 NSPropertyListSerialization d
  • 键值观察和 NSButton 状态

    我试图观察复选框状态 并在复选框状态更改时在应用程序中进行适当的更改 在使用复选框管理窗口的窗口管理器中 我有以下观察者设置 void awakeFromNib myCheckBox addObserver self forKeyPath
  • TextView、iOS 和 OSX 中的彩虹文本

    我正在尝试向我的应用程序添加一些不同的文本颜色以融合到图像中 我收到了很多用户想要彩虹文本颜色并重复的输入 例如这个词 stackoverflow看起来像这样 s red t orange a yellow c green k blue o
  • 获取 Finder 前窗口的 POSIX 路径

    如何获取当前位于窗口列表顶部的 Finder 窗口的 POSIX 路径 最好使用某种 Cocoa 框架 但我对任何事情都持开放态度 背景 我需要这个 因为我想选择与正则表达式模式匹配的文件 从该路径递归开始 这个想法是使用 NSWorksp
  • NSDateComponents - EXC_BAD_ACCESS 错误

    我确信有一个简单的答案的基本问题 我正在尝试获取照片的时间戳 当我尝试访问 NSDateComponents 以检索特定日期元素 例如 日 时 我收到 EXC BAD ACCESS 错误 首先 我的代码的相关部分 formattedDate
  • 主队列上的dispatch_sync 与dispatch_async

    请耐心等待 这需要一些解释 我有一个类似于下面的函数 上下文 aProject 是一个名为 LPProject 的核心数据实体 其数组名为 memberFiles 其中包含另一个名为 LPFile 的核心数据实体的实例 每个 LPFile
  • 如何在 Mac OS X 的 Cocoa 上绘制文本内阴影

    如何在 Cocoa for Mac OS X 中的文本上绘制内部阴影 我对 NSView 进行子类化 以创建一个带有渐变背景和内部阴影文本标题的占位符控件 stackoverflow 上所有当前 Core Graphics 的答案似乎都解释
  • 10.11 NSCollectionView - 动态确定单元格大小

    OS X v10 11 AppKit 发行说明 https developer apple com library mac releasenotes AppKit RN AppKit 10 11CollectionView建议可以根据每个项
  • 使用 PRODUCT_NAME 构建 cocoapods 项目的 xcodebuild 失败

    我可以使用以下命令构建我的 Cocoapods 项目 base basename xcworkspace xcworkspace xcodebuild sdk iphonesimulator ios version CONFIGURATIO
  • 在基于视图的 NSTableView 中,如何通过单击使控件成为第一响应者?

    基于视图的 NSTableView 似乎只有标准行为 为了使表内的文本字段成为第一响应者 用户必须双击或单击并 保持冷静 然而 考虑到基于视图的 NSTableViews 提供的灵活性 这种行为并不总是可取的 因为现在可能有很多不同且复杂的
  • Cocoa Accessibility API,我可以单击后台窗口而不激活它吗?

    我一直在寻找解决这个问题的方法 所以我想我应该寻找比我更伟大的头脑 我正在开发一个 Cocoa 应用程序 它使用 Accessibility API 来操作另一个程序 它是一个热键应用程序 我控制的应用程序通常会打开多个窗口 其中一些窗口隐
  • Cocoa - 在另一个 xib 上显示 xib

    谁能告诉我如何 或指导我有关信息 在另一个 xib 笔尖 上显示 xib 笔尖 我希望如何放置它 以便我可以以编程方式将它移动到主笔尖 就像这样 这显然不起作用 void drawRect NSRect dirtyRect NSRect c
  • [[NSMutableDictionary alloc] initWithObjects:...] 和 [NSMutableDictionary DictionaryWithObjects:...] 之间的区别?

    仍在学习 Objective C iPhone SDK 我想我知道为什么这不起作用 但我只是想确认一下 In awakeFromNib 如果我使用 NSMutableDictionary alloc initWithObjects 它实际上
  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • 为 Swift 对象/属性设置观察者

    我一直在寻找一种在连接到 Mac 的显示器数量发生变化时触发方法的方法 我知道我可以获得 NSScreen screens count 的值 但我需要找到一种方法来在该值发生变化时创建通知或其他内容 或者指示所连接的显示器数量发生变化的其他
  • 使用基于约束的布局自动调整 NSTokenField 的大小

    有没有办法自动调整大小height使用约束的 NSTokenField 保持宽度恒定 sizeToFit应该有效 但事实并非如此 如果我设置一个约束来保持宽度不变并调用此方法 它将忽略约束并仅调整宽度大小 当我想要的是仅调整高度大小时 基于

随机推荐

  • 自动为 MM-YYYY 文本字段插入“-”或“/”字符? [复制]

    这个问题在这里已经有答案了 我目前正在开发 CC 验证模板 但不幸的是 对于这个特定项目来说 使用标准下拉 单独文本字段来选择月 年到期字段并不可行 相反 我希望有一个文本字段 格式为 MM YYYY 来捕获到期日期 但是 我希望编写此文本
  • Swift 返回类型说明

    我看到一个 Swift 函数写如下 func calculation imageRef CGImage gt red UInt green UInt blue UInt 我需要知道上面函数的返回类型是什么 我无法将它与任何已知类型联系起来
  • 如何在不更改内容字体的情况下更改TabItem的标题字体?

    如何更改 TabItem 标题中的字体而不更改内容的字体 当我设置FontSize财产在TabItem它还改变了 FontSizeTextBlocks
  • 查询计算不同值的数量?

    我在 MS Access 2003 中有一个表 如下所示 url id example com red example com blue example com blue other com red other com orange mor
  • HTML/PHP if-else 语句

    我正在使用 Bootstrap 创建一个网站 我想输入 if else 语句 但我不知道该怎么做 让我解释 Here is an image of my current HTML snippet 现在我想要的是 如果我通过 An Aussc
  • 如何应对本地化?我应该遵循一个标准吗?

    我正在尝试创建一组类来处理本地化 主要是货币部分 但也包括语言 我可以想象其中的逻辑 但我不知道不同的语言和货币使用什么名称 我看到有很多 ISO 标准 我应该选择哪一个 不管怎样 这是我想到的逻辑 以防你也能帮忙解决这个问题 我会有一个
  • NSMutableArrays

    我有一个NSMutableArray作为类的成员变量 In the h file interface bleh NSMutableArray list property readonly assign NSMutableArray list
  • 在 scala 中,如何将 future 列表转换为返回第一个成功 future 的 future? [复制]

    这个问题在这里已经有答案了 所有的未来最终都可能会成功 有些可能会失败 但我们希望第一个成功 并希望将这个结果代表为未来 如果列表中的所有 future 都失败 这个 future 就会失败 如图所示文档 https www scala l
  • getFromLocationName 错误,服务不可用。一直在工作,停止了

    在我的应用程序中 我使用 getFromLocationName 直到最近它一直在应用程序中工作 现在突然我得到的是 服务不可用 异常显示 Geocoder getFromLocationName Geocoder java 178 这是我
  • 括号平衡器程序

    我通过堆栈制作了一个括号检查程序 其中它将以字符串作为输入 并检查字符串或表达式是否具有相等的编号 左大括号和右大括号 如果是 它将打印 括号平衡 否则 括号不平衡 但另一个很奇怪 它只是打印一些随机值 并且不将表达式作为输入 只是自己打印
  • ObserveOn 和 Scheduler.NewThread 不会观察到,如果观察者的 OnNext 被阻塞并继续

    有人可以帮助解释为什么当我 阻止并继续 观察者的 onNext 序列订阅具有时间可观察序列的缓冲区时 Scheduler NewThread 不再适用吗 例如 如果我通过缓冲一系列数字 var query from number in En
  • R chron times() 函数不起作用

    我正在尝试将时间转换为自午夜以来的秒数 我很难从 chron 包中获取 times 函数来工作 我的使用方法如下 gt library chron gt 24 24 60 times 50 Error in 24 24 60 times 5
  • YOUTUBE API:检索视频关键字

    最近 YouTube 决定仅向经过身份验证的开发者输出视频关键字 我注册了开发者密钥 我试图获取一个我将解析的 XML 通过请求 https gdata youtube com feeds api videos COwIYbYQUrQ ke
  • 防止 XAML/C# 中 ListView 的 Return(Enter)、向上和向下箭头键的默认行为 (Windows 10)

    当列表视图具有焦点时 按 Enter 键的默认行为是选择列表视图的第一个元素 向上和向下箭头键滚动列表视图 我试图阻止这种默认行为并连接我的自定义逻辑 我可以使用 KeyDown 为列表视图实现访问键 如下所示 代码隐藏方法 CoreWin
  • 您无权执行该操作

    我有一个时间触发的脚本 可以定期从外部源检索内容并用它更新 Google 网站页面 根据this https developers google com apps script guides triggers installable res
  • 应用程序在后台时远程推送通知 swift 3

    我有一个可以接收远程推送通知的应用程序 我已经实施了didReceiveRemoteNotification这样 func application application UIApplication didReceiveRemoteNoti
  • 包括 Oracle 中的等效项

    在 SQL Server 中你可以这样写 create index indx on T1 A B INCLUDE C D E 有没有办法在 Oracle 中做同样的事情 Refs http msdn microsoft com en us
  • 建议一种每分钟更新时间的方法

    我有一个完整的ajax应用程序 我正在使用下面的代码每分钟更新一次时间 但如果我保持浏览器打开超过 10 分钟 浏览器就会变得无响应 缓慢 建议更好的代码 function tick var d new Date var time padN
  • 如果数据表的主键是两列,您可以使用 DataTable.Contains(object key) 吗?

    如果是这样怎么办 要按主键选择 您应该使用以下之一 DataTable Rows Find Object 如果你的 PK 是一列 DataTable Rows Find Object 如果您有超过 1 列作为主键 对于类型化 DataSet
  • 键值观察和 NSButton 状态

    我试图观察复选框状态 并在复选框状态更改时在应用程序中进行适当的更改 在使用复选框管理窗口的窗口管理器中 我有以下观察者设置 void awakeFromNib myCheckBox addObserver self forKeyPath