删除 NSTokenFieldCell 的回调

2024-01-26

我有一个 NSTokenField 和 NSTokenFieldCell 代表托管对象。当我通过键入创建一个新的 NSTokenFieldCell 时,我的 NSTokenField 的委托(NSArrayController)将使用以下方法回调:

tokenField:representedObjectForEditingString

在此方法中,我为新令牌单元创建一个托管对象,它按预期工作。

但是,我找不到用于删除 NSTokenFieldCell 的回调方法,我可以在其中删除我的托管对象。有人知道这是否存在吗?如果没有,我想我将不得不以某种方式监视 NSTokenField 是否有删除,这听起来不太理想。


很难准确理解您的要求。您真的是在创建和删除 NSTokenFieldCells 吗?我不认为你这样做 - NSTokenField 控件有一个 NSTokenFieldCell 实例。整个程序集仅将某些字符串(您通过 NSTokenFieldDelegate 协议控制)表示为图形“令牌”。单元格不会每次都重新创建,只会重新创建它所代表/绘制的内容。

您的意思是说您希望在以下情况时收到通知:标记化字符串是否从字段中删除?如果是这样,恐怕这不是它设计的工作方式。You决定对哪些字符串(由您告诉令牌字段使用的令牌化字符集分隔)进行令牌化,以及将哪些替换字符串(通常是缩短或清理的版本)显示为令牌本身。因此,取决于you确定模型中的“令牌”现在是否丢失并自行清理。

简而言之:Cocoa Bindings 中没有执行此操作的工具。最好保留一个“-tokensNeedCleaning”标志,并以与 NSView 一起使用 -setNeedsDisplay: 和 -displayIfNeeded 方法相同的方式对待它。这样,当编辑令牌字段时,您可以调用[self setTokensNeedCleaning:YES]。反过来,该方法可以通过 -performSelector:withObject:afterDelay: 调用“[self cleanTokensIfNeeded]”(延迟为零),以在 needCleaning 标志为 YES 时安排清理丢失的令牌。然后它会取消设置标志。

这种简单的机制可以防止清理例程在每次连续编辑时运行,而是标记它并安排它在不久的将来运行(如果仍然需要)。这样,对 -cleanTokensIfNeeded 的连续计划调用将不会继续盲目地尝试清理 - 清理调用将被合并。

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

删除 NSTokenFieldCell 的回调 的相关文章

  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • 检查系统时间是自动还是用户设置

    我需要在当前的项目中设置用户证明时间 我围绕这个问题发现了很多不同的问题 但似乎没有一个问题有我正在寻找的答案 这些是我到目前为止看过的问题 XCODE 如何从设备获取 验证准确的时间戳 https stackoverflow com qu
  • NSOperation 中委托的使用

    我正在尝试利用CLLocationManager in an NSOperation 作为其中的一部分 我需要能够startUpdatingLocation然后等到收到 CLLocation 后才完成操作 目前我已经完成了以下操作 但是委托
  • 分段错误:当我运行 Pygame 时为 11

    有人问过类似的问题here https stackoverflow com questions 34278488 pygame display causing segmentation fault 11 但没有得到答复 我有 Python
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • ca 证书 Mac OS X

    我需要在emacs 上安装offlineimap 和mu4e 问题是配置 当我运行 Offlineimap 时 我得到 OfflineIMAP 6 5 5 Licensed under the GNU GPL v2 v2 or any la
  • 如何修复 ReactiveCocoa(带有 CocoaPods)的安装?

    这里是新手 尝试将 ReactiveCocoa 2 2 4 和 CocoaPods 安装到项目中 但在运行时遇到错误 我用过github 上的这个 podspec https github com CocoaPods Specs blob
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 由于 2.23 导致 iOS 应用程序被拒绝 - iOS 数据存储指南

    以下是 Apple 关于拒绝的消息 2 23 应用程序必须遵循 iOS 数据存储指南 否则将被拒绝 2 23 详情 在启动和内容下载时 您的应用程序会存储 6 5 MB 这并不意味着 遵守 iOS 数据存储指南 下一步 请验证只有用户使用您
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音
  • xsel -o 对于 OS X 等效项

    是否有一个等效的解决方案可以在 OS X 中抓取选定的文本 就像适用于 Linux 的 xsel o 一样 只需要当前的选择 这样我就可以在 shell 脚本中使用文本 干杯 埃里克 你也许可以安装xsel在 MacOS 上 更新 根据 A
  • 使用自动布局、IB 和字体大小时表头视图高度错误

    我正在尝试为我的 uiTableView 创建一个标题视图 不是节标题 我已经有了 我已经在界面生成器中设置了一个 XIB 所有的连接都已连接好并且运行良好 除了桌子没有给它足够的空间 我的问题是表格顶部与表格标题有一点重叠 我的 XIB
  • 为具有多个目标和不同平台的项目编写 Podfile

    我正在准备一个支持 OS X 和 iOS 的 Pod 我的 pod 有一些自己的依赖项 这些依赖项在 podspec 文件中定义 因此我使用 Podfile 来管理我用来开发 pod 和运行测试的项目的依赖项 我正在使用 CocoaPods
  • VS Code 即使关闭也使用 100% CPU

    即使未打开 VS Code 也会占用 100 的 CPU 使用率 我跑了ps aux grep PID命令查看详细信息但什么也看不懂 这是输出 tawhid 27099 100 0 0 1 447352160 11856 R 7 18PM
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 当 ViewController 从 UIStoryboard 实例化时,isMemberOfClass 返回 no

    我有一个 OCUnit 测试类 PatientTestViewControllerTests 下面是界面 interface PatientTestViewControllerTests SenTestCase property nonat
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • 带有文本字段的 iPhone AlertView

    我有一个UIAlertView with a UITextField在里面 我想输入mail id并提交于UIAlertView s ok按钮 但是UITextField in the UIAlertView没有回复 请帮助我 thankz
  • WiFi 网络变化是否有 NSNotificationCenter 通知?

    我想在我的 Cocoa 应用程序中订阅 WiFi 网络更改 但我无法找到合适的事件来订阅 WiFi 网络变化是否有 NSNotificationCenter 通知 据我所知 我会用CoreWLAN https developer apple

随机推荐

  • 如何每三个字符插入一个空格,直到一个句点字符?

    我一直在尝试将输入格式设置为每三个字符有一个空格 直到句点字符 例如 999999999 gt 999 999 999 33333 25 gt 33 333 25 222 32 gt 222 32 4444 gt 4444 这是我到目前为止
  • 在 Beaglebone 中使用 openCV 编译 C++ 代码

    我用 C 编写了以下代码 使用 openCV 在 Beaglebone 中运行 include
  • Javascript 模块中的变量在其外部可见吗?

    首先 我来自 NET 世界 那里有静态类 C 在 VB 中也称为模块 和实例类 您可以实例化它们 这个问题是关于 Javascript 的 我试图重新创建我已经知道的模式并创建一个模块 静态类 这是代码 var MyModule varia
  • 重用需要“resolve”参数的“ui-route”控制器

    我希望能够重复使用我的ui router 有线控制器 他们目前从以下位置接收参数ui router resolve渲染他们的模板 我可以重复使用这些控制器吗 ui router 例如 我这样做ui router controller Det
  • Python3中的mimetools.choose_boundary函数在哪里?

    我目前想在Python3中使用以下代码 但发现该函数mimetools choose boundary要弃用 如何更改代码并使其正常工作 import re from urllib request import urlopen Reques
  • Guice JPA - “此连接已关闭。”错误

    在数据库断开空闲连接或数据库关闭并备份后 我在我的网络应用程序中收到以下错误 javax persistence PersistenceException org hibernate exception JDBCConnectionExce
  • async.mapLimit 与 Promise

    我正在尝试使用 async 模块 v3 尤其是 async mapLimit 方法来提交有限数量的并行异步请求 这与以下 简化的 示例代码中的回调配合使用效果很好 async require async async mapLimit 1 2
  • 如何使用用户脚本覆盖警报功能?

    现场有这样的代码 其站点位于 LAN 上 我尝试使用 GM 禁用该警报 我正在尝试这样做 unsafeWindow alert function 但我看到警报并收到此错误 Error uncaught exception Exception
  • Python 3 网页抓取选项

    我是 Python 新手 所以如果这是一个新手问题 我很抱歉 我正在尝试构建一个涉及网络抓取的程序 我注意到 Python 3 的网络抓取模块似乎比 Python 2 x 系列少得多 Beautiful Soup mechanize 和 s
  • 如何在 Android 中为 Fragment 设置标签

    我查看了 Stackoverflow 上的所有问题 但找不到这个问题的唯一明确答案 你怎么将标签设置为Fragment这样你就可以通过以下方式检索它getFragmentManager findFragmentByTag 有人可以给出一个简
  • 保存为 .ps/.eps 时 Matplotlib 绘图失去透明度

    如果我尝试使用 ps eps 扩展名保存一些带有透明椭球体的绘图 我会遇到问题 Here s the plot saved as a png If I choose to save it as a ps eps here is what i
  • 为什么我不能在 python3 中子类化元组?

    让我们先说一下这个问题你应该使用 new 代替 init 用于子类化不可变对象 https stackoverflow com questions 399022 why cant i subclass datetime date 话虽如此
  • webGL 中的平面着色

    我正在尝试在 webgl 中实现平面着色 我知道varying顶点着色器中的关键字将对该值进行插值并将其传递给片段着色器 我正在尝试禁用插值 我发现flat关键字可以做到这一点 但似乎不能在 webgl 中使用 flat varying v
  • 从 TensorArray 到 Tensor

    给定一个具有固定大小的 TensorArray 和具有统一形状的条目 我想通过将 TensorArray 的索引维度作为常规轴来获取包含相同值的 Tensor TensorArrays 有一个名为 gather 的方法 据称它应该可以做到这
  • 意外的 gcc 警告:函数返回局部变量的地址 - 这是编译器错误吗?

    以下是最小的工作示例 好吧 实际上它是最小的非工作示例 当使用 gcc 从版本 5 0 到 9 3 编译时 它会发出以下警告 它甚至似乎只在发布版本中发出警告 02及更高 Code class A class B const A getA
  • RVM - MacPorts 不会通过代理更新

    我正在尝试使用 RVM 在我的 iMac 上安装 ruby 我首先输入以下内容 rvm list known 然后 我使用以下行定位我想要安装的版本 我遵循的指南建议使用 1 9 2 而不是基本的 1 8 7 rvm install 1 9
  • 多态对象字符串

    我没能理解多态性 以这个例子为例 Object o new String foo 我做不到 o substring 1 2 谁能向我解释这个问题 这是由于里氏替换原则 https en wikipedia org wiki Liskov s
  • 如何让 Jenkins 在检查更改时忽略某些文件?

    在CVS配置的 排除区域 中 我添加了以下内容 d o so a exe obj dll lib txt tar tar gz 所有具有上述扩展名的文件都应被忽略 然而 Jenkins 仍然基于某个文件夹 ABC 中的文件 build tx
  • 提取“$@”中最后一个参数之前的参数

    我正在尝试创建一个 Bash 脚本 它将将从命令行给出的最后一个参数提取到一个变量中以在其他地方使用 这是我正在编写的脚本 bin bash compact archive and compact file folder s eval LA
  • 删除 NSTokenFieldCell 的回调

    我有一个 NSTokenField 和 NSTokenFieldCell 代表托管对象 当我通过键入创建一个新的 NSTokenFieldCell 时 我的 NSTokenField 的委托 NSArrayController 将使用以下方