“潜在的空取消引用”上出现 Clang 错误。

2024-03-24

我不断收到以下类型的代码中的 Clang 错误,但我不明白为什么它们会出错,也不知道如何解决它们以使 Clang 满意:

+ (NSString *)checkForLength: (NSString *)theString error: (NSError **)error {
    BOOL hasLength = ([theString length] > 0);
    if (hasLength) return theString;
    else {
        *error = [NSError errorWithDomain:@"ErrorDomain" code:hasLength userInfo:nil];
        return nil;
    }
}

抛开这个例子完全做作的本质(Clang 确实反对这一点,所以它足够说明问题),Clang 对错误分配行犹豫不决,并提出以下反对意见:

潜在的空取消引用。根据“创建和返回”中的编码标准NSError对象的参数“error”可能为空。

我喜欢原始的 Clang 报告。我已阅读引用的文件,但看不到一种方法可以实现预期的效果;我检查了一些开源 Cocoa 库,这似乎是一个常见的习惯用法。有任何想法吗?


该文档中的清单 3-5 显示了执行预期操作的方法。用你的示例代码:

+ (NSString *)checkForLength: (NSString *)theString error: (NSError **)error {
    BOOL hasLength = ([theString length] > 0);
    if (hasLength) return theString;
    else {
        if (error != NULL) *error = [NSError errorWithDomain:@"ErrorDomain" code:hasLength userInfo:nil];
        return nil;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“潜在的空取消引用”上出现 Clang 错误。 的相关文章

  • 如何在可可中使用核心动画对 png 序列进行动画处理(非触摸)

    我想在 NSImageView 中对 png 序列进行动画处理 但我无法使其工作 它只是不想显示任何动画 有什么建议吗 这是我的代码 void imageAnimation NSMutableArray iconImages NSMutab
  • 可可:NSView原点x在底部

    我正在以编程方式创建一个NSWindow以及其上的控件 看来原点 0 0 位于左下角 这对我来说很奇怪 来自其他 GUI 工具包 是否有一些标志 以便我可以更改它 使原点位于左上角 在 OS X 上 原点位于左下角 对于屏幕坐标和视图框架来
  • Cocoa 卸载驱动器但不弹出它

    你知道要卸载驱动器吗without将其弹出 NSWorkspace有一些卸载驱动器的方法 但它也会弹出它们 任何想法 我按如下方式执行此操作 它会卸载驱动器但不会弹出它 其实我想弹出磁盘 只能卸载磁盘 P 请分享如何弹出磁盘 DASessi
  • 使用 NSWorkspace 获取所有正在运行的进程

    我想获取 MacO 中所有正在运行的进程的列表 当我使用 myWorkspace runningApplications 我只得到当前用户应用程序的列表 我如何找到 root 或 mysql 所有者的所有进程的列表 看一下技术问答 QA11
  • 如何多次从 NSHTTPCookieStorage 中清除 cookie?

    我的桌面应用程序连接到 Google App Engine 上托管的网络应用程序 一旦通过身份验证 它就会获得一个 authtoken cookie 并为所有未来的请求传递该 cookie 这一切都有效 但现在我想添加 退出 我尝试像这样实
  • NSTextField 委托通知——如何获取文本?

    我一直在尝试学习使用 Xcode 但我对如何注册感到困惑NSTextField已经改变 本质上 我有一个NSTextField和一个按钮 单击该按钮会填充字段中的文本 但是 我希望能够获取该字段的文本 而无需使用文本字段 操作 结束编辑时发
  • 以编程方式设置 Mac 鼠标/触控板速度

    我正在尝试更改我正在开发的应用程序的鼠标跟踪速度 注意 不是加速 我到处寻找一种方法来做到这一点 但找不到任何东西 我怀疑这与我在 IOKit hidsystem 框架上的这个函数中给出的值有关 IOHIDSetAccelerationWi
  • 在 Grand Central Dispatch 中使用dispatch_sync

    任何人都可以用非常清晰的用例解释其目的是什么dispatch sync in GCD是为了 我不明白在哪里以及为什么我必须使用它 Thanks 当您想要执行一个块并等待结果时可以使用它 其中一个示例是使用调度队列而不是锁进行同步的模式 例如
  • 没有编辑菜单的对话框中的 Cocoa 键盘快捷键

    我有一个LSUIElement显示菜单栏状态项的应用程序 应用程序可以显示包含文本字段的对话窗口 如果用户右键单击 按住 Control 键单击文本字段 则会出现一个菜单 允许剪切 复制 粘贴等 但是 标准 Command X Comman
  • Swift - 将图像从 URL 写入本地文件

    我学习 swift 的速度相当快 并且我正在尝试开发一个下载图像的 OS X 应用程序 我已经能够将要查找的 JSON 解析为 URL 数组 如下所示 func didReceiveAPIResults results NSArray pr
  • 什么时候需要 NSCopying?

    我知道如果您的对象将用作 NSDictionary 中的键 则需要它 还有其他类似的情况需要 NSCopying 吗 如果我认为我不需要我的模型对象符合 NSCopying 我可能是错的吗 将 NSCopying 协议视为克隆例程的 Obj
  • macOS 公证错误:“使用的签名算法太弱”

    我想知道是否有人熟悉这个错误 该错误仅在我将应用程序上传到 Apple 进行公证时才会发生 AppName zip AppName app Contents Resources EWSMacCompress tar gz EWSMacCom
  • 如何创建自定义模式 NSWindow?

    我想创建一个充当模式对话框的自定义 NSWindow 我所说的自定义是指它在窗口中有正常的用户控件 带有 确定 和 取消 按钮 该对话框将包含只读信息 并有一些复选框 安全编辑字段等 MainMenu xib 文件将具有在启动时可见的普通窗
  • 如何使虚线可移动

    我用下面的代码画了一条虚线 get the current CGContextRef for the view CGContextRef currentContext CGContextRef NSGraphicsContext curre
  • 具有 URL 样式格式的 NSTextField

    我一直在尝试让 NSTextField 识别 URL 并且一般来说我的代码可以工作 我按照苹果的说明进行操作这一页 http developer apple com library mac qa qa1487 关于如何使用 hyperlin
  • 自动调整 NSTextView 和/或 NSScrollView 的大小

    我有一个NSTextView里面一个NSView 正在被使用NSPopover 不知道这是否相关 我正在尝试以编程方式自动调整大小 参见标题 我一直在努力解决很多问题 即 看着NSLayoutManager and usedRectForT
  • 将 NSWindow 的内容变灰

    我有一个NSWindow with 2 NSViews an NSSplitView和一个习惯NSView 访问数据以填充这些视图可能需要一些时间 在此期间 我想将这些视图的内容灰显 我的第一个方法是有一个黑色的第三个NSView覆盖另外2
  • NSSharingService 共享子菜单

    如何在 Mac 应用程序中添加共享子菜单 例如 Safari gt 文件 gt 共享 我戳了戳Apple 共享服务示例代码 http developer apple com library mac samplecode SharingSer
  • NSNotificationCenter 为“观察者”和“对象”保留什么类型的引用?

    任何人都可以澄清 阐明有关情况 NSNotificationCenter addObserver selector name object 观察者 和 对象 参数的通知中心保留哪些类型的引用 从通知中心删除观察者的最佳实践是什么 多线程应用
  • 无法将项目添加到 NSMutableArray ivar

    我的目标是将字符串添加到数组中 并在我调用的方法中执行此操作 在这个方法中 我在数组中得到一个空值 但不知道为什么 我在课程开始时有这样的内容 NSMutableArray listOfEvents 以及我在每个事件上调用的方法 void

随机推荐