首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在NSTableView中获得选中的行?view(atColumn:row:makeIfNecessary:)返回空

在NSTableView中获取选中的行,可以通过以下步骤实现:

  1. 首先,获取到NSTableView的实例对象,假设为tableView。
  2. 使用tableView的selectedRow属性来获取选中的行索引。如果返回值为-1,表示没有选中任何行。
  3. 如果selectedRow返回的值不为-1,可以通过tableView的view(atColumn:row:makeIfNecessary:)方法来获取选中行的视图。该方法接受两个参数:列索引和行索引。
  4. 如果view(atColumn:row:makeIfNecessary:)方法返回空,可能是因为该行的视图尚未创建。可以使用tableView的makeView(withIdentifier:owner:)方法来创建视图。
  5. 通过以上步骤,你可以获得选中行的视图,并进行后续操作。

下面是一个示例代码片段,展示了如何在NSTableView中获取选中的行:

代码语言:swift
复制
// 获取选中的行
let selectedRow = tableView.selectedRow

// 判断是否有选中行
if selectedRow != -1 {
    // 获取选中行的视图
    let view = tableView.view(atColumn: 0, row: selectedRow, makeIfNecessary: false)
    
    // 判断视图是否为空
    if view == nil {
        // 创建视图
        let identifier = NSUserInterfaceItemIdentifier("CellIdentifier")
        let newView = tableView.makeView(withIdentifier: identifier, owner: self)
        
        // 进行后续操作
        // ...
    } else {
        // 进行后续操作
        // ...
    }
}

在这个示例中,我们假设选中的行在第一列,因此使用列索引0。你可以根据实际情况修改列索引和标识符。

腾讯云提供了一系列云计算相关的产品,其中包括云服务器、云数据库、云存储等。你可以根据具体需求选择适合的产品。以下是腾讯云相关产品的介绍链接:

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

postgresql 触发器 简介(转)

– 把before for each row的触发器删掉, 再测试插入 : postgres=# drop trigger tg02 on t_ret; DROP TRIGGER postgres=# drop trigger tg2 on t_ret; DROP TRIGGER postgres=# insert into t_ret values(1,’digoal’,now()); NOTICE: 00000: tg01 LOCATION: exec_stmt_raise, pl_exec.c:2840 NOTICE: 00000: tg1 LOCATION: exec_stmt_raise, pl_exec.c:2840 NOTICE: 00000: tg03, after for each row 的触发器函数返回空, 不影响后续的触发器是否被调用. 因为只要表上面发生了真正的行操作, after for each row就会被触发, 除非when条件不满足. (这个后面会讲到) LOCATION: exec_stmt_raise, pl_exec.c:2840 NOTICE: 00000: tg3 LOCATION: exec_stmt_raise, pl_exec.c:2840 NOTICE: 00000: tg04 LOCATION: exec_stmt_raise, pl_exec.c:2840 NOTICE: 00000: tg4 LOCATION: exec_stmt_raise, pl_exec.c:2840 INSERT 0 1 – 有数据插入. 这也说明了before for each statement的返回值为空并不会影响数据库对行的操作. 只有before for each row的返回值会影响数据库对行的操作. postgres=# select * from t_ret ; id | info | crt_time —-+——–+—————————- 1 | digoal | 2013-03-10 16:50:39.551481 (1 row)

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券