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

拖出NSTableView删除

拖出NSTableView删除:

NSTableView是一种用于显示和编辑表格数据的组件,它是Cocoa框架中的一部分。在Cocoa中,NSTableView可以通过代理和数据源来实现数据的显示和编辑。

要实现NSTableView的删除功能,可以通过以下步骤:

  1. 首先,需要在NSTableView中添加一个删除按钮,可以通过在NSTableView的单元格中添加一个NSButton来实现。
  2. 接下来,需要在NSTableView的代理中实现删除按钮的点击事件。可以通过实现NSTableView的代理方法- (BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row来实现。
  3. 在代理方法中,可以通过获取当前点击的单元格的位置来判断是否点击了删除按钮。如果是删除按钮,则可以从数据源中删除该行的数据,并通过调用- (void)removeRowsAtIndexes:(NSIndexSet *)indexes withAnimation:(NSTableViewAnimationOptions)animationOptions方法来删除该行。
  4. 最后,需要在数据源中更新数据,以便NSTableView可以正确地显示数据。

以下是一个简单的示例代码:

代码语言:txt
复制
- (BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    if ([tableColumn.identifier isEqualToString:@"deleteColumn"]) {
        // 删除按钮被点击
        [self.dataArray removeObjectAtIndex:row];
        [tableView removeRowsAtIndexes:[NSIndexSet indexSetWithIndex:row] withAnimation:NSTableViewAnimationEffectFade];
        return NO;
    }
    return YES;
}

在上述代码中,dataArray是NSTableView的数据源,deleteColumn是删除按钮所在的列的标识符。

希望这个答案能够帮助到你!

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

相关·内容

  • Jekyll-Admin-Mac 开发纪要-左侧菜单栏

    上面的图可以明显看出来是需要封装控件的,但是封装完毕是试图依次叠加还是使用 NSTableView。试图依次叠加不利于扩展,我们采用 NSTableView。...我们发现我们刚才创建的 NSTableView显示的背景颜色是白色的,我们可以关闭 NSScrollView的绘制背景颜色和设置 NSTableView的背景颜色为透明即可。 ?...B06B6F83-FBBC-4069-802B-AFCF62389B8F 我们删除自动生成的试图,拖拽一个 NSView到 到 Column下面。我们关联 NSTableView的数据源。 ?...@IBAction func didClickRow(_ sender: NSTableView) { } 我们给 NSTableView新增一个属性是否被选中。...我们绑定界面的元素 NSTableView到 SideMenuView 。 @IBOutlet weak var tableView: NSTableView!

    2.1K10

    一步一步,开始上手Mac 开发(一)

    怎样使用Table Views (比如添加或者删除行) 5. 怎样使用文本(text field),按钮(button),图片(image view) 6....MasterViewController后的界面 1.9 选中MasterViewController.xib,因为我们这个工程练习需要显示一些Bugs信息列表,所以需要一个table view,在Mac中,这个控件叫做NSTableView...在OSX中table view 控件是NSTableView,它类似iOS中的UITableView,不同的是在NSTableView的一行(row)中可以有很多列(column) 1.20 选中table...table view 设置后运行效果 与iOS相似,NSTableView 也有数据源和代理这两个属性,现在我们需要将MasterViewController设置为table view 的数据源和代理(...最终运行结果 你可以从这里下载到整个项目的demo:github 代码示例 下一篇,我们将对table view 列表进行添加,编辑,删除的操作已经窗口尺寸的适配,未完待续...

    4.1K40

    逻辑删除还是物理删除

    看到标题,有的童鞋心中暗想“数据删除有什么可提的呢?不就是执行个delete语句吗?有什么难的呀?”其实呢数据删除没有你想的这么简单,一般情况下公司会明确的要求数据只能逻辑删除,不能物理删除。...那什么优势逻辑删除,什么又是物理删除呢?...物理删除的代价一 由于物理删除是真的被删除的,当我们发现数据是被误删除的,那么恢复起来是非常困难的,恢复数据还要停掉数据库,对业务系统的影响是非常大的,所以误删除的后果是非常严重。...如果误删除了数据,有什么办法恢复数据吗?当然有了,如果误删除了数据,需要停掉数据库才行,对业务系统的影响是非常大的。...当然了,在一些必须要物理删除的情形下,还是有折中的加速分页查询的方法 什么样的数据不适合物理删除 核心业务表的数据不建议做物理删除,因为物理删除后,真的就只能停机恢复数据,这个代价真的非常大,反之我们可以对需要删除的记录做状态上的变更

    1.3K30

    Mac上如何移动隐藏删除顶部菜单栏图标

    这里小编就来指导大家一下Mac如何移动隐藏删除顶部菜单栏图标。 左侧是苹果菜单和应用菜单,应用菜单一般显示你当前使用的Mac软件的所有功能菜单。...删除图标 如果有些图标一周内才使用一次,那小编建议,你可以果断的删除这个图标了,不要让过多的图标扰乱你的菜单栏。...按住Command键并点按该图标,将其拖出菜单栏,当鼠标下方出现删除图标时再放开,就能将图标删除。 有些软件图标拖出菜单栏时,鼠标下方出现的是禁止图标,表示这个图标无法删除。...隐藏图标 如果你觉得顶部菜单图标太多,却又不想删除任何图标时,可以试试用第三方管理软件Bartender。

    14K21

    java 物理删除和逻辑删除

    java 物理删除和逻辑删除 逻辑删除:文件没有被真正的删除,只不过是文件名的第一个字节被改成操作系统无法识别的字符,通常这种删除操作是可逆的,就是说用适当的工具或软件可以把删除的文件恢复出来。...物理删除:指文件存储所用到的磁存储区域被真正的擦除或清零,这样删除的文件是不可以恢复的 物理删除是计算机处理数据时的一个概念。 与物理删除相对应的是逻辑删除。...逻辑删除就是对要要删除的数据打上一个删除标记,在逻辑上是数据是被删除的,但数据本身依然存在!而物理删除则是把数据从介质上彻底删除掉。...配置逻辑删除的步骤: 在配置文件yml中应该配置的信息 mybatis-plus: global-config: db-config: logic-delete-value: 1...# 逻辑已删除值(默认为 1),该具体删除值和数据库中的表数据对应即可 logic-not-delete-value: 0 # 逻辑未删除值(默认为 0),该具体删除值和数据库中的表数据对应即可

    1.3K30
    领券