使用 ARC 在 Lion 上查看基于 NSTableView EXC_BAD_ACCESS

2023-12-26

这很奇怪。我有一个超级简单的项目来学习 NSTableView,它在我的笔尖中设置,设置为基于视图的 tableView。我还设置了数据源并委托给我的控制器对象。

然而,当我这样做并运行时,我得到一个 EXC_BAD_ACCESS,跟踪从我的主函数开始,堆栈的其余部分是 Cocoa 内部的(所以不是我的代码)。

除了这个项目使用 ARC(这是一个新项目,所以这是默认的)之外,确实没有什么特别的事情发生。

我还尝试使用分析器来确保我没有在任何地方不当进行内存管理,并且没有任何问题。

如果我不设置数据源/委托,我不会崩溃,但显然这不是构建我的应用程序的好方法!

有任何想法吗?

Edit

委托和数据源都在IB中设置。代码如下(基于视图)。需要注意的是,无论是否存在此代码,我都会遇到崩溃,并且在任何一种情况下都会发生相同的崩溃:

- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
    return 5;
}

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    NSTextField *cell = [tableView makeViewWithIdentifier:@"MyView" owner:self];

    if (nil == cell) {
        cell = [[NSTextField alloc] initWithFrame:CGRectZero];


        cell.identifier = @"MyView";
    }


    [cell setStringValue:[NSString stringWithFormat:@"Row %d", row + 1]];

    return cell;
}

这很简单!

我一直(有点故意)试图泄漏一个变量(因为我懒得创建一个实例变量...在这里编写快速代码),但是当然 ARC 帮我处理了这个泄漏,导致整个事情失败向上。

所以,我只需要做一个strong属性,因此我试图保留的对象(该对象充当我的 tableView 委托和数据源)无法过早释放。

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

使用 ARC 在 Lion 上查看基于 NSTableView EXC_BAD_ACCESS 的相关文章

  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • 使用 Cocoa/OSX 合并/堆叠两个图像

    我有一个 CGImageRef 我们称之为原始图像 和一个透明 png 水印 我正在尝试编写一种方法将水印放置在原始内容之上 并返回 CGImageRef 在 iOS 中 我会使用 UIKit 将它们绘制到上下文中 但这在 OSX 中似乎不
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th
  • 适用于 C/C++ 和 Java 的 Eclipse IDE

    我正在尝试在运行 El Capitan 的 Mac 上设置 Java IDE 但是我找到的安装程序要求我为 C C 和 Java 安装单独的 IDE Eclipse Neon Eclipse 有什么选项可以让我拥有一个支持多种语言的 IDE
  • 无法按住 CTRL+拖动 NSButton 到自定义 NSView 标题

    我想创建一个自定义的NSTableCellView由 Interface Builder 实例化 我已将 Table Cell View 类设置为MyTableCellView 并正确创建MyTableCellView NSTableCel
  • 从 Java 执行 .app 文件夹?

    有没有一种合理的方法可以直接从 Java 执行 app 目录 而不是深入查找二进制文件 我有一个带有一些首选项的应用程序 其中包括用于打开各种内容的外部程序 如果在 OSX 上用户可以只选择 app 文件夹 那就太好了 我可以查找 app
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • 在 Mac OSX 上从 Python 3.6 运行 wine 命令

    我正在尝试用 Python 编写一个打开的脚本wine然后发送代码到wine终端打开一个 exe程序 这 exe程序也是命令驱动的 我可以打开wine 但我无法进一步 import shlex subprocess line usr bin
  • WiFi 网络变化是否有 NSNotificationCenter 通知?

    我想在我的 Cocoa 应用程序中订阅 WiFi 网络更改 但我无法找到合适的事件来订阅 WiFi 网络变化是否有 NSNotificationCenter 通知 据我所知 我会用CoreWLAN https developer apple
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • 如何在 swiftUI (macOS) 中检测按键按下和释放

    除了标题之外没什么可说的 我希望能够在按下按键和释放按键时 在 macOS 上 在 swiftUI 视图中执行操作 在 swiftUI 中是否有任何好的方法可以做到这一点 如果没有 有什么解决方法吗 不幸的是 键盘事件处理是其中一个令人痛苦
  • 从 NavigationController 中删除 ViewController 后 AVPlayer 继续播放

    因此 我在项目中使用 ARC 当我添加 AVPlayerLayer 时 它工作得很好 但当我从 UINavigationItem 中弹出 UIViewController 时 视频继续在后台播放 有谁知道你会如何处理这个问题 这似乎是一件很
  • 在 XCode 7.0.1 中设置 VTK 6.1

    所以 我遇到了问题VTK 可视化工具包 http www vtk org在 Mac OSX 上工作 特别是让它在XCode https developer apple com xcode 我让它工作并将在下面发布这个问题的答案 截至 201
  • ARC 不允许将 Objective-C 指针隐式转换为“void *”

    这意味着什么 我有什么选择 ARC 不允许将 Objective C 指针隐式转换为 void 我正在将 Xcode3 项目移植到 iOS5 它使用 AudioSessionInitialize 如下 AudioSessionInitial
  • Macports 安装 binutils

    我正在尝试通过 macports 在 Lion 上安装 gnu ld 我已经从 macports 安装了 gcc 4 6 但是我需要创建 elf 二进制形式的二进制文件 我作为单独的问题发布here https stackoverflow
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com
  • 在 Mac 上使用 Eclipse 进行 C++ 调试器

    当我最终设置我的 mac 来使用 eclipse 后 我无法调试 我尝试通过谷歌寻求帮助 但没有一个答案对我有用 所以 我需要有人帮助我在 eclipse 上安装和使用 c c 调试器 我安装了 Xcode 5 0 感谢您的帮助 Roy 您
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • 迁移到 ARC 时如何解决“选择器'performSelector:withObject:afterDelay:'没有已知的实例方法”?

    ARC 迁移工具在开始迁移之前拒绝接受此代码 self delegate performSelector selector overlayDismissed withObject self afterDelay 0 委托被迫使用协议来实现此

随机推荐

  • 帮助理解 javascript 全局消除技术

    来自 DailyJS 让我们构建一个 JavaScript 框架 http dailyjs com 2010 02 25 djscript part 1 structure 我不太确定以下代码 显然用作全局抑制技术 到目前为止 我的理解对
  • 使用移动设备的触摸事件模拟拖放事件

    前段时间 我在移动设备上的网络浏览器中进行拖放操作时遇到了困难 默认的 JavaScript 事件在移动设备上不起作用 您只能使用触摸事件 就我而言 我需要通过拖放来交换两个图像以及 ID 这里有一个例子 div display inlin
  • 从另一个 llvm::Module 获取函数声明

    在我的应用程序中 我有 2 个 LLVM 模块 运行时模块 其中包含void foo int a 函数定义 和可执行文件 我使用 LLVM C API 创建 在我的可执行模块中我创建int main int argc char argv 并
  • GNU make 不删除中间文件

    我的makefile如下 The names of targets that can be built Used in the list of valid targets when no target is specified and wh
  • 自动弹出标题,无延迟

    是否有机会执行 js onclick 函数 如果有人自动单击该图标 则会显示标题文本 或者当有人将鼠标移到其上时 标题将立即显示 现在元素的标题会在 1 秒后出现 你可以试试这个 纯css 没有js HTML div class hover
  • 什么是可标记元素?

    我已经阅读无障碍 http www w3 org TR aria in html fifth rule of aria use我偶然发现了一个我找不到准确信息的概念 HTML 可标记元素 我知道可标记元素背后的概念是可以由
  • 检查文件是否包含光栅或矢量元素? (pdf、eps、ai)

    有没有办法检查文件中是否包含光栅元素 我有兴趣对 pdf eps 和 ai 格式执行此操作 如果文件只是矢量 我将其转换为 svg 如果它有一些光栅元素 我必须将其转换为 png 文件 我正在使用 PHP 但我也可以使用任何命令行工具 例如
  • dict.viewkeys() 返回的数据类型是什么? [ 蟒蛇 2.7 ]

    我在学习dict viewkeys 今天 我发现我的python调用了它dict keys目的 我可以将其视为可迭代对象 但它不是生成器 因为我可以多次迭代它 以我有限的知识 我只知道String int float list dict t
  • html5画布kineticjs事件

    我似乎在使用事件获取时遇到问题动力学JS http kineticjs com以 1 或更小的行程在 Kinetic Line 上开火 我认为将所有行添加到一个组 然后将事件附加到一个组就足够了 但它不起作用 我已经简化了我想要完成的代码以
  • 重定向回同一页面时 CakePHP 缓存问题

    我正在使用 CakePHP 2 6 当我重定向回发出请求的同一视图时 我遇到了问题 该视图似乎已被缓存 因此在请求期间所做的任何更改都不会显示 直到再次刷新页面 这意味着 用户无法看到刚刚所做的更改 Flash 消息显示在下列的视图 这很糟
  • Vuetify 外部分页不显示页码

    我有一个 v data table 我正在尝试为其添加分页 我已按照示例文档进行操作here https vuetifyjs com en components data tables example paginate我看不出我做错了什么
  • 使用布尔运算符在 Z3 中定义约束

    比方说 我想使用 Z3 约束将字符串的每个字符限制为字符集 a zA Z0 9 我可以使用布尔运算符来指定吗 举个例子 input BitVec input s i 8 for i in range 10 for i in range 10
  • Shiny:如何在禁用操作按钮的情况下启动应用程序?

    我需要启动一个禁用 button2 的应用程序 仅应在按下 button1 后启用 我怎样才能做到这一点 我正在尝试使用启用 禁用shinyjs包裹 我可以在按 button1 后启用 button2 但是如何在禁用 button2 的情况
  • 代码更改后如何在没有 mvn clean install 的情况下构建项目?

    我在 eclipse 中有一个项目 一个带有 appengine sdk 和 maven 作为我的构建器的 java 应用程序 在我启动全新安装之前 class 文件不会刷新 因此我在代码中所做的每项更改都必须运行 mvn 干净安装 mvn
  • Maven 程序集插件:包含文件而不获取其路径文件夹

    我使用 maven assemble plugin 将依赖项 ZIP 也使用程序集插件生成 中的文件包含到最终版本 ZIP 文件中 问题是我想从依赖项中选择要获取的文件 但不复制这些文件所在的文件夹路径 只是文件 例如
  • 使用 Google Maps API 检索“商家”?

    这是一个例子 它附加了一些元素 例如 Reviews来自各个网站 qype viewlondon 等 Details由各个网站提供 Photos and other content 我不知道如何继续检索此类业务并关联我的网站上生成的任何项目
  • 使用AlwaysUseFullPath 属性了解使用DispatcherServlet 的URL 映射

    我尝试将 DispatcherServlet 中的 URL 配置为映射到不带扩展名的 URL 我终于明白了这一点 但我不明白为什么 URL 会这样工作 假设上下文为 foobar 如果 DispatcherServlet 的 url 模式为
  • GetValue、GetConstantValue 和 GetRawConstantValue 之间的区别

    两者有什么区别GetValue GetConstantValue and GetRawConstantValue上的方法PropertyInfo班级 不幸的是 MSDN 文档对这个主题不是很清楚 Both GetConstantValue
  • Xamarin - 跨平台单元测试

    我正在整合我的团队开发环境 为我们的第一个大型 Xamarin Forms 项目做好准备 从敏捷的角度涉及整个团队 在继续之前我需要验证一个假设 单元测试 我们计划使用适用于 Android 和 Windows Phone 的 TFS 以及
  • 使用 ARC 在 Lion 上查看基于 NSTableView EXC_BAD_ACCESS

    这很奇怪 我有一个超级简单的项目来学习 NSTableView 它在我的笔尖中设置 设置为基于视图的 tableView 我还设置了数据源并委托给我的控制器对象 然而 当我这样做并运行时 我得到一个 EXC BAD ACCESS 跟踪从我的