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

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(使用前将#替换为@)

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

  • Mac OS X 上的 .dll 等效项 [重复]

    这个问题在这里已经有答案了 我来自一个Windows背景 我习惯于通过创建 dll 然后分发所有库和文档 因此 如果用户想要使用它 他会添加对库的引用并使用它 但是 在 Mac 中 我正在开发 SDK 并且我想要一种方法creating a
  • Codesign 想要访问您钥匙串中的密钥“访问”,我输入了登录密码,但一直询问我

    我正在尝试学习从 Xcode 在我的 iPhone 上加载应用程序 当我这样做时 我不断收到 Codesign想要访问您钥匙串中的密钥 访问 我输入了我的登录密码 但它不断弹出 我已经尝试了我的计算机登录很多次 苹果帐户密码 并且好多其它的
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • 如何正确初始化“min”变量?

    我的代码中有一个小问题 用于从一系列数字中查找最小值 当我初始化时min 0 最小值结果为0 但是当我不初始化时min 答案是正确的 为什么会出现这种情况 Xcode 告诉我应该初始化min多变的 int a 20 0 int max 0
  • iOS7 由 Interface Builder 生成的 NSIBPrototypingLayoutConstraint 自动布局约束问题

    以前在 iOS6 中 我的聊天消息视图控制器使用 IB 中精心构建的自动布局约束正确显示和动画 下面是 Xcode 5 中删除了约束的当前视图层次结构 升级到 XCode 5 和 iOS7 后 我发现我需要清除所有旧的约束才能解决默认的半透
  • 詹金斯配置文件问题

    检查依赖关系 找不到与 Nitin xxxxxxx xyzCAppStore 匹配的 iOS 配置文件 Xcode 找不到与 Nitin xxxxxxx xyzCAppStore 匹配的配置文件 安装配置文件 通过将其拖放到 Xcode 的
  • 上传存档错误:“缺少 iOS 发行版签名身份......”

    我正在尝试使用 Xcode 将我的 iOS 应用程序存档上传到 iTunes Connect 但是当我单击 上传到 App Store 时 出现错误 Xcode 尝试查找或生成匹配的签名资产并 由于以下问题未能做到这一点 缺少 iOS 为
  • Phonegap Build 与 Xcode4 上的 Phonegap 对比?配置.xml?

    有一个使用phonegap构建的应用程序 我已经使用它编译和测试了http build phonegap com http build phonegap com服务 我发现它使用 XCode 的构建方式与在 Phonegap 网站上的构建方
  • 在模拟器/预览版上运行的 SwiftUI:切换不起作用,控制台日志:“无效模式‘kCFRunLoopCommonModes’”

    更新 这是一条红鲱鱼 所以我最初的问题是问如何禁用导航链接 并且仅在两个链接时才启用Toggle影响两个 State var isXYZToggleOn Bool属性都是true 这一直有效 我第一次尝试使用 disabled hasAgr
  • 无法分配内存:fork:无法创建新进程?

    我们的托管在aws 最近 我们的博客从wordpress to aws 我们遇到服务器响应时间明显延迟的情况 主要是在访问博客时 以下是来自error log file Wed Feb 25 06 10 10 2015 error 12 C
  • 空 Activity 中的内存泄漏

    我最近决定使用泄漏金丝雀 https github com square leakcanary在我的项目中 所以我创建了一个空的项目Activity只是为了测试 当我运行应用程序时 在没有逻辑代码或视图的项目创建之后 我从这个库中获得了内存
  • React-native iOS 不显示图像(pod 问题)

    我正在我的react native应用程序中安装一个包 具体来说 它是来自react navigation的createMaterialTopTabNavigator 但安装成功后 出现崩溃 错误 react navigation mate
  • 基础国际化和“找不到名为 [...] 的故事板”

    我正在使用 iOS 6 并尝试使用基本国际化 但是当我打开开关并运行时 出现 找不到名为 的故事板 异常 我尝试从构建阶段和项目本身中删除和添加故事板文件 但无济于事 我注意到在构建阶段 故事板就在那里 但它是红色的 有什么技巧可以让它发挥
  • Xcode 6.1“Xcode 调试器中内置的 Swift REPL 可以检查和操作正在运行的应用程序”不起作用

    对于 Xcode 6 1 更新点之一是 Xcode 调试器内置的 Swift REPL 可以检查和操作 你的跑步应用程序 我创建了空项目 在 viewDidLoad 中设置了一个断点 当应用程序在断点处停止时 我在 Xcode 控制台中输入
  • 添加到 Xcode App 时,Bazel 框架抛出“无法检查应用程序包”

    我正在使用 Bazel 构建基于 MediaPipe 的人脸识别库 我正在使用apple xc框架 https github com bazelbuild rules apple blob master doc rules apple md
  • Xcode 6 仪器冻结

    在 Xcode 6 Instruments 中分析我的 iOS 8 应用程序将运行该应用程序约 5 秒 然后冻结 此后探查器仍将运行 但应用程序已冻结且无法使用 发生在设备和模拟器上 无论我使用哪个分析器 计时器 泄漏等 从调试器或临时构建
  • NSString keepCount 是 2147483647 [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 保留计数 https stackoverflow com questions 1390334 nsstring retain count Objective C NSString 属
  • 在完成块中保留循环

    在我的课堂上 我创建了这个方法 void refreshDatasourceWithSuccess CreateDataSourceSuccessBlock successBlock failure CreateDataSourceFail
  • 在 Swift 中对约束进行动画处理

    我有一个UITextField我想在点击时放大它的宽度 我设置了约束 并确保左侧约束的优先级低于我尝试在右侧设置动画的约束 这是我尝试使用的代码 move the input box UIView animateWithDuration 1
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request

随机推荐

  • 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