基于视图的 NSOutlineView 中 NSTextField 的委托事件?

2024-03-05

我有一个基于视图的完美功能NSOutlineView在我的项目中使用正确的设置数据源。现在我想允许用户更改某些条目。所以我做了NSTextField在IB中可编辑。对于基于细胞的NSOutlineView你可以使用委托方法outlineView:setObjectValue:forTableColumn:byItem:但是它不适用于基于视图的NSOutlineView如头文件中所述NSOutlineViewData协议:

/* View Based OutlineView:此方法不适用。 */

(void)outlineView:(NSOutlineView *)outlineView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item;

所以我搜索了另一个委托方法并发现outlineView:shouldEditTableColumn:item:。但是这个委托方法不会被触发。可能是因为我没有编辑单元格。

所以我的问题是:除了为每一行分配一个委托之外,还有其他方法可以注意到行的更改吗?NSTextField?


您的文本字段需要在 Interface Builder 中可编辑是正确的。

接下来,使您的控制器符合 NSTextFieldDelegate。然后,在outlineView:viewForTableColumn:item:中设置文本字段的委托,如下所示:

tableCellView.textField.delegate = self

下面是一个简化的示例,您在其中实现了返回大纲视图项目的表格单元格视图的方法。

-(NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item
{
    NSTableCellView *tableCellView = [outlineView makeViewWithIdentifier:@"myTableCellView" owner:self];

    MyItem *myItem = (MyItem *)item; // MyItem is just a pretend custom model object 
    tableCellView.delegate = self;
    tableCellView.textField.stringValue = [myItem title];

    tableCellView.textField.delegate = self;

    return result;
}

然后,控制器应该收到 controlTextDidEndEditing 通知:

- (void)controlTextDidEndEditing:(NSNotification *)obj
{
    NSTextField *textField = [obj object];
    NSString *newTitle = [textField stringValue];

    NSUInteger row = [self.sidebarOutlineView rowForView:textField];

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

基于视图的 NSOutlineView 中 NSTextField 的委托事件? 的相关文章

  • 在 iPhone 5 的横向模式下启动启动画面

    我们的通用应用程序仅适用于横向模式 我们需要为 iPhone 4 和 iPhone 5 添加启动画面 对于 iPhone 5 的肖像 我们使用 email protected cdn cgi l email protection 如何为 i
  • 为什么 Objective-C 使用 YES 和 NO 而不是 1 和 0? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Objective C 使用 YES 和 NO 而不是 1 和 0 是否有任何技术原因 或者只是为了使其更具可读性 使其更具可读性is技术原因
  • Objective C - ARC - 何时使用@autoreleasepool

    我读了一些关于 ARC 的文章 看到了这个 interface Address NSObject public NSString city end implementation Address Address init NSString c
  • 如何在ios上定义可达性超时

    我使用 Reachability 类来了解我是否有可用的互联网连接 问题是当wifi可用但不能上网时 NetworkStatus currentReachabilityStatus方法花费太多时间 my code Reachability
  • 使用 twitterkit 将图像发布到 Twitter

    我正在尝试使用 Twitter 的新 TwitterKit 和自定义 UI 发布图像和推文 他们提供的唯一文档是如何用他们的观点来做这件事 所以我可以弄清楚如何在没有图像的情况下做到这一点 NSMutableDictionary messa
  • 如何使用 XCode 在 iOS 应用程序中的推文中上传视频

    我是 iOS 开发新手 需要对我正在接管的 iOS 应用程序进行更改 以将视频添加到推文中 我当前的应用程序 UI 允许用户输入推文文本 但我将对其进行更改 以允许他们选择要与推文一起上传的视频 类似于 Twitter 应用程序的工作方式
  • NSString 上的 stringWithFormat 与 initWithFormat

    我想知道以这种方式声明 NSString 有什么区别 例如缺点和 或优点 NSString noInit NSString stringWithFormat lolcatz d i 与以下相反 NSString withInit NSStr
  • 从 iPhone 设备查找当前国家/地区

    我必须在 iPhone 设置中获取当前国家 地区 谁能告诉我如何在 iPhone 应用程序中获取当前国家 地区 我必须使用当前国家 地区来解析需要传递当前国家 地区的 RSS 提要 请帮我找到那个国家 提前致谢 要查找用户选择的语言所在的国
  • 获得 IAP 产品响应后出现 Objective-C 错误

    此代码来自 Phonegap 代码 IAP 插件 错误发生在 发送的js 之后的代码行上 除了最后一个 nil 之外 发送到该函数的所有元素均非零 我什至将它们注销以确保它们已发送 该代码直接来自插件 https github com us
  • 如何传递带有可选参数作为参数的方法?

    说 我们有ClassA用方法Foo包含可选参数 所以 我们可以按照方法中所示使用它DoFoo public class ClassA public ClassA public void Foo bool flag true public v
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑
  • Apple 如何在机场菜单打开时更新它? (当 NSMenu 已经打开时如何更改它)

    我有一个状态栏项目 可以弹出一个 NSMenu 并且我有一个委托集 并且它已正确连接 void menuNeedsUpdate NSMenu menu工作正常 也就是说 该方法设置为在显示菜单之前调用 我需要监听该方法并触发异步请求 稍后在
  • 当自定义子视图处理触摸时防止 UITableView 滚动

    在我的 iOS 应用程序中 有一个 UITableView 其中一个单元格中包含一个自定义子视图 该单元格是一个交互式视图 它处理触摸事件 touchesBegan touchesEnded touchesMoved 以更新自身 问题是 当
  • NSOperation 中委托的使用

    我正在尝试利用CLLocationManager in an NSOperation 作为其中的一部分 我需要能够startUpdatingLocation然后等到收到 CLLocation 后才完成操作 目前我已经完成了以下操作 但是委托
  • 为什么没有收到(UDP 多播)数据包?

    所以 我一直试图弄清楚为什么这不起作用 但我没有任何线索 我已经成功地从 iPhone 发送数据包并在 Mac 上接收它们 根据 tcpdump 我的 mac 正确发送数据包 此外 如果我在模拟器中运行它 它工作得很好 这让我相信这是一个网
  • Xcode 4 调试器代码完成

    首先 很高兴他们尝试在 Xcode 4 中的 gdb 命令提示符上完成代码 但在当前状态下 它使得使用命令提示符来调查目标 c 对象几乎不可能 当我打字时 它自动将单词补全为我不想要的内容 并且如果不手动选择文本并将其删除 然后重新开始 则
  • NSDateFormatter:根据 currentLocale 的日期,不包含年份

    这不会太难吧 我想显示不带年份的日期 例如 8 月 2 日 美国 或 02 08 德国 它也必须适用于许多其他语言环境 到目前为止 我唯一的想法是对年份进行正常格式 然后从生成的字符串中删除年份部分 我认为你需要看一下 NSString d
  • 使用 Cocoa/OSX 合并/堆叠两个图像

    我有一个 CGImageRef 我们称之为原始图像 和一个透明 png 水印 我正在尝试编写一种方法将水印放置在原始内容之上 并返回 CGImageRef 在 iOS 中 我会使用 UIKit 将它们绘制到上下文中 但这在 OSX 中似乎不
  • 断点条件错误

    我已经根据条件设置了断点 event name isEqualToString Some Name 这很好用 但是 当我尝试添加另一个带有条件的断点时 part name isEqualToString Some Value With A
  • let/var 如何解决可变性? [复制]

    这个问题在这里已经有答案了 我没有任何问题 我只是想对有关可变性的问题进行一些澄清 在 Objective C 中我们会使用例如NSMutableArray得到一个可变数组和NSArray得到一个不可变的 我对两者的内部运作了解不多 但据我

随机推荐

  • Gradle InstrumentTest 的 AndroidManifest.xml

    有没有办法指定一个额外的AndroidManifest xmlgradle 测试应用程序的文件 我需要它来为我的单元测试指定额外的权限和活动 UPD 我尝试添加instrumnetTest部分中的build gradle文件 但它没有帮助
  • 使用SQL过滤存储过程的结果

    我查看了 Stack Overflow 上与此问题相关的其他问题 但似乎没有一个问题清楚地回答了这个问题 我们有一个名为 sp who2 的系统存储过程 它返回服务器上所有正在运行的进程的信息结果集 我想过滤存储过程返回的数据 从概念上讲
  • Google 脚本 JSON 嵌套数组到单元格

    我试图将以下 JSON 的一部分读入 google 表格 似乎有嵌套数组 我很难将其推入一个单元格 主要 JSON lineItems name advertisers 1558261 lineItems 12317016 advertis
  • Angular2:更改表单验证错误的边框颜色

    尝试更改错误消息的边框颜色 这是我的 html 代码 div class form group div
  • 从对话框片段上的图库中选择照片时光标上出现空指针异常

    我正在尝试从图库中选择照片DialogFragment 但我越来越nullpointerexception初始化时cursor 有什么想法为什么会出现此错误吗 下面是我的代码 if resultCode Activity RESULT OK
  • 连接图中的桥

    我有一个编程任务 不是家庭作业 我必须在图中找到桥梁 我自己做了一些工作 但无法想出任何令人满意的东西 所以我用谷歌搜索了它 我确实找到了一些东西 但我无法理解它所呈现的算法 有人可以看一下这段代码并给我一个解释吗 public Bridg
  • OpenCV - 两个二值图像之间的交集

    假设我有两个相同大小的二值图像 如何找到两个二值图像之间的交集 只有两个白色图像 灰色 255 上相同坐标 位置 的像素才会在输出图像 交集 上给出白色像素 您可以使用cvAnd http opencv itseez com modules
  • Java 构造函数是否返回对象引用?

    我知道 Java 的构造函数不能有任何类型 有趣的是它甚至不能是void 对此的合理解释是构造函数返回初始化对象的引用 MyClass myObject new MyClass 的构造函数myClass现在将在实例化对象后返回对象引用并将其
  • 我可以免费获得 sql2008 的 sql profiler 吗?

    是否可以免费获得 sql2008 的 sql profiler 还是必须有许可证才能获得 即它不能与 sql express 一起使用 您可以使用 SQL Developer 版本获取 SQL Profiler 但之前三个答案是怎么写的 S
  • 在 JavaScript 中访问 PHP 变量 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 或 jQuery 中访问 PHP 变量而不是 https stackoverflow com questions 1808108 how to access php va
  • 如何在服务器端渲染 Three.js?

    如何渲染 Three js 服务器端 目前我们的网站在本地使用 Three js 渲染玩家头像 但这会带来安全问题以及低端计算机的潜在错误 人们可以将代码注入控制台并让它渲染天知道什么 我研究过使用node js 但所有相关文档都很模糊并且
  • 直接从 Angular 客户端订阅 Azure 事件网格主题

    我正在开发一个需要响应来自第三方 WebHook 的事件的应用程序 我选择 Azure Event Grid 作为我选择的事件代理 Angular 作为前端 Asp Net Core 作为后端 在我当前的解决方案中 我使用 HTTP 触发的
  • firebase 中的用户组

    A User定义为 public class User private String email private String uid private List
  • 即使显式设置区域性,也无法在 .NET 7 中重现 .NET Framework 字符串排序顺序

    我在 NET Framework 4 8 上运行一些遗留代码 这些代码对一些产品代码进行排序并将结果放入单个数据库列中 它已经运行了多年 积累了我无法轻易修改的数据 我需要它在 NET 7 上同样工作 代码很简单 Code new 123
  • 如何解决 TypeError: on_delete 必须在 Django 模型上可调用?

    突然我收到一条错误消息TypeError on delete must be callable 我不知道如何解决这个错误 因为我没有看到field models ForeignKey default 1 on delete CASCADE
  • 在R6RS方案中,有没有办法获取当前环境以供eval使用?

    R6RS方案中有没有办法获取当前环境 然后将其作为第二个参数传递给eval 例如 下面的表达式要返回 9 问号应该是什么 let x 4 y 5 eval x y 不 R6RS中没有这样的东西 一些罕见的实现可能支持类似的东西 但绝大多数
  • 如何在 R 中高效地生成向量?

    假设您有一个函数 它接受一个数字作为输入并输出一个向量 但是 输出向量的大小取决于输入 并且您无法在函数之前计算它 例如 采取3N 1著名算法 https en wikipedia org wiki Collatz conjecture 该
  • 如何使用 Spray-json 将 JsArray 转换为案例类序列?

    我有一个变量 var movieArray movieText parseJson 属于哪一类 println movieArray getClass class spray json JsArray 如何将其转换为案例类序列 例如 cas
  • 如何强制 Azure 存储帐户为经典帐户

    我们最近使用 Azure 资源管理器和模板构建了基础设施和应用程序部署框架 为了部署云服务 需要首先设置一个Azure存储帐户 截至最近 这是通过运行来完成的 Switch AzureMode AzureResourceManager Ne
  • 基于视图的 NSOutlineView 中 NSTextField 的委托事件?

    我有一个基于视图的完美功能NSOutlineView在我的项目中使用正确的设置数据源 现在我想允许用户更改某些条目 所以我做了NSTextField在IB中可编辑 对于基于细胞的NSOutlineView你可以使用委托方法outlineVi