初始化期间存储的值永远不会被读取

2023-12-24

我正在尝试创建一个游戏,以便我可以更改其数据并将其保存回来。我在注释行中收到两个错误。为什么我会收到这些错误。我分配了游戏,所以我应该正确地发布它。这是我保存游戏的代码

Game *newGame = [[Game alloc] init];//error 1
newGame = [gamesArray objectAtIndex:gameNumber];
[newGame setTheShotArray:shotArray];
[gamesArray replaceObjectAtIndex:gameNumber withObject:newGame];
NSString *path = [self findGamesPath];
[NSKeyedArchiver archiveRootObject:gamesArray toFile:path];
[newGame release];//error 2

我收到错误 1,它表示在初始化过程中存储到“newGame”的值永远不会被读取。

第二个错误表示调用者此时不拥有的对象的引用计数不正确递减。

这是什么意思?请不要告诉我,您需要阅读内存管理并给我一个链接。请告诉我如何解决这个问题。


Game *newGame = [[Game alloc] init];//error 1

您创建一个新实例并拥有它,因为您已经使用了+alloc.

newGame = [gamesArray objectAtIndex:gameNumber];

您从以下位置获取另一个实例gamesArray并将其分配给上一行中使用的同一变量。这意味着您已经丢失了对前一个对象的引用,并且由于您拥有前一个对象,因此您有责任释放它。你没有,所以你泄漏了那个对象。

[newGame release];//error 2

在此刻newGame通过 from 指向实例gamesArray。您不拥有它,因为您没有通过 NARC 获得它,因此您不应该释放它。

NARC:名称包含的方法new, alloc, copy, or is retain.

底线:您正在泄漏通过以下方式创建的对象+alloc并且您正在尝试释放一个不属于您的对象。

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

初始化期间存储的值永远不会被读取 的相关文章

  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • Xcode MyProjectName-Bridging-Header.h 不存在

    我想开始在我的 Objective C 项目中使用 Swift 所以我添加了一个快速类 import Foundation objc class System NSObject objc func printSome println Pri
  • Xcode 9.0.1 应用程序分发程序已更改

    最近我将 Xcode 升级到了 Xcode 9 1 之后 当我尝试发布我的应用程序时 Xcode 不允许选择我为临时创建的分发配置文件 这么说 配置文件不是 IOS 应用商店配置文件 如果 Xcode 9 1 的应用程序分发过程有变化 请告
  • 当 Firebase 函数以 Swift 结束时

    我在我的应用程序中使用 Firebase 它查询大量用户并获取所需的特定数据 但是当它开始查询时 其余功能也继续运行 而不仅仅是查询 所以我无法理解当它结束时 例如在这段代码中 ref observeEventType ChildAdded
  • swift 3.0 中的 Sha 256 加密语法错误

    func SHA256 gt String let data self data using String Encoding utf8 let res NSMutableData length Int CC SHA256 DIGEST LE
  • UIAlertController 显示延迟

    我在我的应用程序上遇到了 UIAlertController 问题 现已迁移到 iOS8 其中包含日期选择器 下面是代码 UIAlertController AlertView UIAlertController alertControll
  • Swift 3 中来自路径或文件名的 UIImage

    我的应用程序的文档目录中有一堆图像 我想将其中之一加载到我认为的 UIImage 中 这就是我所做的 myImage image UIImage named image jpg the file exist but this returns
  • Xcode 愚蠢警告:视图正在裁剪其内容

    我在 Xcode 4 中收到这个愚蠢的警告 Clipped Content View is clipping its content 如果我创建一个无边框斜角按钮 其图像大于按钮本身 为什么 我怎样才能抑制它 我也遇到了类似的灰色警告问题
  • 使用 Xcode 为 OS X Lion / Mountain Lion 编译 OpenCV (2.3.1+)

    谁能给我提供一些如何使用 Xcode 在 OS X Lion 上编译 OpenCV 2 3 1 的详细指南 我对此很生气 我得到了源代码 使用 cmake 创建 Xcode 模板并尝试构建它 但它失败并出现大约 200 个错误 提前致谢 多
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之
  • 线程1:EXC_BAD_ACCESS(代码=1,地址=0xf1759018)

    所以我收到了这个错误 如下图 当我收到此错误时 正在检查我的核心数据库 并根据我收集的电池统计数据对结果进行平均 这一切工作正常 直到我休息了一下然后回来 将其插入并开始出现此错误 我有一个异常断点 但除了图像中的崩溃之外 它仍然没有向我显
  • Xcode 9.2 UIDocumentBrowserViewController:无法从 bookmarkableString 创建 url

    Update Xcode 9 3 已修复它 在创建 UIDocument 文件时UIDocumentBrowserViewController 默认 错误 无法解析书签 错误 错误域 NSFileProviderInternalErrorD
  • AVPlayer Swift:如何隐藏控件并禁用横向视图?

    因为这是我的第一篇文章 所以简单介绍一下我 通常我设计东西 主要是 UI 但我真的很想跨入编程领域 以便更好地理解你们 所以我决定构建一个小应用程序来开始 所以我已经花了几个小时试图解决这个问题 这是我的第一个应用程序项目 所以我为我的新手
  • Xcode 产品在发布模式下呈红色

    我想分发我的应用程序 我放置了代码签名和所有内容 我的最后一步是将构建设置为发布 我去编辑方案并将构建配置发布 然后我的产品由于某种原因变成了红色 我无法在 Finder 中打开它 因此无法发送它 如果我将其改回构建模式 它就不是红色的 我
  • SpeechSynthesizer 中的持续内存泄漏

    我开发了一个项目 我想发布它使用 c WPF 和 System Speech Synthesizer 对象 阻止该项目发布的问题是 每当调用 SpeakAsync 时 都会留下内存泄漏 并最终导致失败 我相信在使用这个物体后我已经正确清理了
  • NSTextview:如何获取插入点的字形矩形?自定义文本视图?

    我似乎找不到任何有关如何获取插入点的矩形的文档 我试图在文本插入点 插入点正下方显示一个视图 如自动完成 我正在考虑制作一个自定义文本视图 但如果我可以避免它 那对我的情况来说将是理想的 谢谢 NSRect rectForActiveRan
  • C++ - 如何从类的构造函数中初始化单独类的构造函数?

    基本上我想要实现的是创建该类的本地 和私有 实例deltaKinematics在课堂里geneticAlgorithm In the geneticAlgorithm h我有的文件 class DeltaKinematics class i
  • “找不到开发者磁盘映像”

    最近我收到错误 找不到开发人员磁盘映像 我认为自从我将 iPhone 上的 iOS 更新到 9 1 后就会发生这种情况 如何解决该问题并使 Xcode 支持 iOS 9 1 设 备 Xcode 7 0 1 和 iOS 9 1 不兼容 您需要
  • 如何更改 UILabel/UIFont 的字母间距?

    我已经搜索了很多 但找不到答案 我有一个普通的 UILabel 定义如下 UILabel totalColors UILabel alloc initWithFrame CGRectMake 5 7 120 69 autorelease t

随机推荐

  • OpenCV Sift/Surf/Orb:drawMatch 函数无法正常工作

    我使用 Sift Surf 和 ORB 但有时我在使用 drawMatch 函数时遇到问题 这里的错误 OpenCV 错误 drawMatches 中断言失败 i2 gt 0 i2 0 i2 代码 drawMatchPoints img1
  • ISR 和函数调用之间的区别?

    我想了解ISR 中断服务例程 和函数调用之间的区别 我觉得从硬件角度来看 函数调用和 ISR 是相同的 如果我错了 请纠正我 我能找到的有关 ISR 和函数调用的所有信息如下 ISR 执行过程中随时可能发生的异步事件 该程序 将 PC 标志
  • 等待操作超时 Win32Exception (0x80004005): 等待操作超时 azure

    从 sql azure 检索大量数据时出现以下错误 我已经实现了瞬态故障处理 但仍然收到此错误 描述 执行当前 Web 请求期间发生未处理的异常 请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息 异常详细信息 System Comp
  • 使用 shellcode 进行缓冲区溢出练习

    我正在做一个关于 C 程序上的缓冲区过载的练习 这个问题的目标是在我将 shellcode 插入到程序中后获取 root shell 这是我到目前为止所拥有的 步骤 1 首先 让我们看看文件中的 C 代码file c root kali c
  • 自动创建 IIS 6.0 网站 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们有 Web 应用程序门户 其中托管多个应用程序 每个应用程序都有自己的 IIS 网站 因此 每次我
  • 如何使用 NDK 19 在 OSX Darwin 上交叉编译适用于 64 位 Android 的 OpenSSL

    我之前问过基本相同的问题 不同的 NDK here https stackoverflow com questions 54537033 how to build openssl 1 1 1 for 64 bit android using
  • 在 Java 中合并 2 个 PDF

    我在使用 iText 以及将 2 个 PDF 合并为 1 个 PDF 时遇到问题 我想合并这个 PDF PDF1 一个站点 这是 PDF1 PDF2 一个站点 这是PDF2 我需要的 https dl dropboxusercontent
  • 为什么any 扩展X ? A : B 给 A |打字稿中的 B?

    type TestAny any extends a 1 2 gt 1 2 why how to understand type TestUnknown unknown extends a 1 2 gt 2 type TestStringA
  • ipython 中的括号匹配

    IPython 中是否有自动关闭方括号 引号 圆括号等的选项 我希望有一个与 gedit 插件类似的功能 根据建议 通过调整 inputrc 可以让应用程序 包括 IPython 使用 readline 在输入左括号时自动添加右括号here
  • 事件溯源命令或来自外部系统的事件?

    在大多数情况下 我了解 CQRS ES 系统中命令和事件之间的区别 然而 有一种情况我想不通 假设我正在构建一个个人财务跟踪系统 用户可以在其中输入借方 贷方 显然 这些是命令 一旦经过验证 域模型就会更新并发布事件 然而 假设信用 借记信
  • LinearLayout$LayoutParams 无法转换为 android.widget.FrameLayout$LayoutParams

    解释和解决方法在底部 我正在开发一个滑块布局动画 动画工作正常 但当所有进程结束时 它们会出现下一个异常 I guess RelativeLayout家长有事情要做 但我不知道如何解决 09 06 11 24 58 952 E Trace
  • 片段/活动生命周期和方向变化

    片段很有趣 但是 所以我想 一旦您了解了它们的怪癖 它们就是跨多个设备编写良好代码的宝贵工具 然而 在修复方向改变错误时 我遇到了困难 为了让我的片段工作 它需要访问属于它的包含活动的视图 这引导我进行愉快的追逐 试图找到活动和片段生命周期
  • Android APK 文件和 DEX 文件未创建,没有警告或错误

    我开发Android已经有一段时间了 使用WIN7 64位和Eclipse 由于我尝试安装新的 ADT 1 5 我遇到了一个非常奇怪的现象 我的构建未完成 并且未生成 APK 文件 也未生成 dex 文件 类文件已创建 但没有其他任何内容
  • C# 中的互相关代码 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 大家好 我
  • 如何通过将内存存储到磁盘并在以后恢复来“休眠”Linux 中的进程?

    Linux 中的进程可以 休眠 吗 就像笔记本电脑中的 休眠 一样 我会将进程使用的所有内存写入磁盘 释放 RAM 然后 我可以 恢复进程 即从内存中读取所有数据并将其放回 RAM 然后我可以继续我的进程 我曾经维护过CryoPID htt
  • file.lastModified() 函数没有给出更新的值

    file lastModified 没有更新 虽然我更改了文件内容 但我在 Windows 上工作 我使用java文件 可能是什么问题 我需要对代码进行某种刷新吗 Java 至少 1 8 似乎可以缓存文件属性 我创建了一个 C 应用程序 它
  • 为什么分配单个字节时地址不连续?

    我动态分配内存如下 char heap start1 char malloc 1 char heap start2 char malloc 1 当我如下执行 printf 时 令人惊讶的是地址不是连续的 printf p p n heap
  • 我如何使用 pullparser 为 hashmap 创建 xml 文件

    我正在尝试从用户的输入值填充 xml 文件 用户将给 2 个条目一个键和一个值 我有一个模型类 如下所示 public class Person private HashMap
  • 在 geom_tile 中围绕特定区域绘制线条

    我有以下数据框 df1 我生成了一个geom tile从中绘制 X Y Z 1 1 0 343 5 4 0 134 10 6 0 564 20 8 0 532 40 9 0 235 46 12 0 425 我有另一个数据框 我想用它来画线
  • 初始化期间存储的值永远不会被读取

    我正在尝试创建一个游戏 以便我可以更改其数据并将其保存回来 我在注释行中收到两个错误 为什么我会收到这些错误 我分配了游戏 所以我应该正确地发布它 这是我保存游戏的代码 Game newGame Game alloc init error