NSMutableArray:无法识别的选择器发送到实例

2024-01-03

我正在尝试使用 NSMutableArray 的 NSMutableArray 存储数组 int[9][9] ,其中我存储数组中的 81 个整数:

- (void)awakeFromNib {
    // initialization matrix
    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9; j++) {
            matrix[i][j] = 0;
        }
    }

        // Creating NSMutableArray instance
    TGrid = [NSMutableArray arrayWithCapacity:10];

    [self saveGrid];
}

- (void)saveGrid {
    NSNumber *aInt;
    NSMutableArray *Grid = [NSMutableArray arrayWithCapacity:81];
    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9; j++) {
            aInt = [NSNumber numberWithInt:matrix[i][j]];
            [Grid addObject:aInt];
        }
    }
    [TGrid addObject:Grid];
}

- (IBAction)undo:(id)sender {
    [TGrid removeLastObject];
    NSMutableArray *Grid = [TGrid lastObject];
    for (int i = 0; i < 9; i++) {
        for (int j = 0; j < 9; j++) {
            matrix[8-i][8-j] = [[Grid lastObject] intValue];
            [Grid removeLastObject];
        }
    }
}

当 awakeFromNib 方法首次调用 saveGrid 时,它会起作用。但是当我更改矩阵时,它再次调用 saveGrid,这次我收到此错误:

*由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因: '-[CALayerArray addObject:]: 无法识别的选择器发送到实例 0x4b36ce0'

我需要你的帮助 ! 谢谢 !


您需要保留 TGrid !否则,它将被自动释放池释放,并且可能 CALayer 在内存中占据它的位置!

最好的选择是创建一个带有保留属性的属性并访问self.TGrid不要忘记在最后释放它(dealloc)

edit它被释放是因为每个实例创建者类方法都提供 Autoreleased 实例(这是每个人都应该遵循的规则,Apple 在整个 SDK 中也确实遵循)。

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

NSMutableArray:无法识别的选择器发送到实例 的相关文章

  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • iPhone模拟器的屏幕截图应用程序[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道有没有什么好的推荐iPhone模拟器截图的应用程序 我尝试过 iPhone 屏幕截图裁剪器等应
  • 加载 UIWebView 时如何使用 UIProgressView?

    我正在开发一个应用程序 我在 UIWebView 中加载 urlrequest 并且它成功发生 但现在我试图在加载过程中显示 UIProgressView 从 0 0 到 1 0 它随着加载进度动态变化 我怎样才能做到这一点 UIWebVi
  • 如何防止 iPhone 4 在添加到主屏幕时截断我的标题?

    我的网页标题很长 当添加到 iPhone 旧版本的主屏幕时 整个标题在确认对话框中可见 当我添加到 iPhone 4 的主屏幕时 标题在第 12 个符号之后被切断 有没有办法阻止这种剪切 让 iPhone 默认显示完整标题 显然会有一个无证
  • stringFromDate 始终为 NIL

    我知道这是一个重复的问题 但是在 stackoverflow 和 google 上搜索了许多类似的问题后 没有一个解决方案对我有用 我正在尝试将从数据库收到的日期转换为字符串格式以在 iPhone 应用程序中显示 我正在按以下方式将日期转换
  • AVMutableComposition - 导出错误的视频转换

    导出 VideoAsset 后 问题 视频方向是不是原始变换 导出视频层似乎总是景观 尝试去 变换视频层方向 旋转至原始方向 视频层大小 使其全屏尺寸 按原始方向 一些注意事项 videoAsset 的 CGRect 从一开始就是相反的 a
  • UIButton 未出现在 iPhone 5S 上

    总的来说 我对 iOS 开发和开发还很陌生 我一直在开发时间 记录保存应用程序 但遇到了一个奇怪的问题 在我的一个视图控制器上 我有一个 UITableView 每个单元格都是一个按钮 可通往不同的视图控制器 在第一个单元格上 用户应该能够
  • iPhone中的异步for循环

    for循环看起来像这样 我在视图中编写的确实加载了 因此加载此页面需要更多时间 for int i 3 i lt dataDict objectForKey rss objectForKey channel objectForKey ite
  • 如何检查 uiviewcontroller 是否存在于 uinavigationcontroller 堆栈中

    我有一个UINavigationController 我必须从 a 中弹出一个视图UINavigationController并将其替换为另一个视图 我们如何才能搜索到一个UIViewController对象并将其替换为另一个 当我打印时
  • 如何在操作表中添加日期选择器?

    IBAction showCatPicker if self catList nil self catList nil catList release self catList NSMutableArray alloc init self
  • 在 xcode 4 中找不到 info.plist

    所以常规介绍 我是 Objective C 的新手 到处搜索但找不到 所以请帮忙 我想做的就是将我的应用程序设置为在后台获取位置更新 就是这样 我知道我应该在项目的 info plist 文件中将位置添加到 UIBackgroundMode
  • 如何发布和接收 NSNotifications(目标 C) |通知(Swift 中)?

    是否有一种易于理解的模式如何发送 NSNotification 目标 C 通知 Swift 中 以及如何接收通知 代码片段 文档关于这个主题写了大约 150 页 想看一个简单的例子 发送通知 NSNotificationCenter def
  • iOS 8 UITableView 分隔符插入 0 不起作用

    我有一个应用程序 其中UITableView的分隔符插入设置为自定义值 右0 Left 0 这完美地适用于iOS 7 x 但是在iOS 8 0我看到分隔符插入设置为默认值15在右侧 即使在 xib 文件中它设置为0 它仍然显示不正确 我该如
  • 在哪里可以找到有关 IOS 日历同步的优秀教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 iPhone 应用程序 如何将新事件与 iOS 日历同步 您可以浏览此 github 代码
  • 为什么我的 x 轴在 iPhone 上不显示核心图?

    编辑 我认为我的问题更好地表述为 我怎样才能有一个不从零开始的 Y 轴 看起来 x 轴总是放置在 y 0 处 但我希望 x 轴位于 y 轴上的某个正数 这是一张包含更多常规数据的图表 我只是希望将 x 轴放置在绘图的最小 y 值 大约 77
  • iPhone 应用程序名称有哪些限制? (它们记录在[哪里]?!)

    我花了 2 天 和很多头 墙重击 终于发现临时分发对我不起作用的原因是因为我的应用程序名称包含 UTF 8 字符 我仍然对像苹果 iPhone 这样广泛的国际平台如何禁止这种行为感到困惑 i e 如果我的应用程序是一款中国围棋游戏 我是否可
  • 如何使用 AutoLayout 使 UIView 向上滑动动画?

    this is what I like to achieve 我想执行向上滑动动画 用户可以向上滑动 UIView2 并且 UIView2 将在屏幕上停止一半 我知道如何通过 UIButton 操作以模态方式呈现 UIViewControl
  • 动画导航控制器“后退”按钮

    我在导航控制器层次结构中的视图控制器上有一个自定义按钮 按下该按钮时 会弹出可见的视图控制器 我想使用 UIView 的transform属性来动画关闭视图控制器 它有效 但如果我使用 popViewControllerAnimated Y
  • 如何在没有 Xcode 的情况下提交 iOS 应用程序?

    我是一名合同开发商 我已经为客户编写了一个应用程序 是的 使用 Xcode 现在我们准备发货了 我想向他发送一份应用程序副本 他可以签署该副本并将其提交到 iTunes 应用程序商店 但是他没有或没有使用 Xcode 虽然这是一个备份计划
  • 关闭应用程序后如何调试

    我正在尝试重现问题 这需要在特定位置关闭并重新打开我的应用程序 这是我的问题 1 如何查看我的日志 使用NSLog命令 当我的 iPhone 未连接到 XCode 时 2 是否可以将iPhone模拟器的特定位置 例如市中心 设置为默认位置

随机推荐

  • 如何使用 dbghelp!StackWalk64 遍历混合模式(托管+本机)堆栈?

    我正在尝试使用 StackWalk64 在 x64 进程上遍历包含托管帧和本机帧的调用堆栈 一切工作正常 直到第一个或第二个托管帧 之后 StackWalk64 无法计算出该帧的返回地址并失败 我使用 SymFunctionTableAcc
  • 每六个小时在 Linux 上运行一次 cron 作业

    如何每天每六个小时运行一次命令 我尝试了以下方法 但没有成功 6 mycommand 你忘记了一个 而且你的字段太多了 这是你需要关心的时刻 0 6 path to mycommand 这意味着从 0 开始每六小时一次 即在 0 6 12
  • :确认和:方法在 Rails Button_to 中不起作用

    我的 Rails 3 应用程序出现问题 在我看来我有 生成的html是
  • 用于写出 7 进制字的函数,如二进制计数器样式

    我需要一个类似于这里解释的功能 用于写出单词的 JS 函数 二进制计数器风格 https stackoverflow com questions 2328018 js function for writing out a word bina
  • 表示数字 x 所需的位数

    我目前正在尝试编写一个算法来确定表示数字 x 需要多少位 我的实现将在 c 中 不过 有一些问题 我几乎只能使用按位运算符 gt 另外 我不能使用任何类型的控制流 if while for 我最初的方法是从左到右检查二进制数 并查找第一个
  • 使用cheerio获取页面标题

    我正在尝试使用 Cheerio 获取网址的标题标签 但是 我得到空字符串值 这是我的代码 app get scrape function req res url http nrabinowitz github io pjscrape req
  • ContentControl.ContentTemplateSelector 动态选择模板

    我在Window的右侧设置了一个ContentControl 并设置了Content绑定Items 它的类型是ObservableCollection 现在我想实现它 如果没有项目 ContentControl选择第一个DataTempla
  • Android - ionic - 没有添加到此项目的平台

    我已成功执行以下命令 npm install g cordova npm install g ionic ionic start myApp blank cd myApp ionic platform add android 但下一个命令不
  • Java排序算法

    谁能帮我解释一下这句话吗 排序算法是一种修改 合并排序 其中合并是 如果最高元素被省略 low 子列表小于最低的 高子列表中的元素 Link Arrays sort Object 数组 http download oracle com ja
  • JavaFX ScrollPane - 检查显示哪些组件

    我想知道JavaFX 8中是否有一个ScrollPane属性可用于监听当前在给定时间显示的组件 例如 ScrollPane 有一个 VBox 其中有 8 个按钮 滚动窗格中只能看到 4 个按钮 我想要一个监听器 提供滚动位置更改时显示的 8
  • 无法在无头浏览器中加入 lib-jitsi-meet 创建的会议

    我正在尝试使用创建会议lib jitsi meet使用 Puppeteer 在无头 Chrome 实例中 并使用来自另一个浏览器的 Jitsi 外部 API iframe API 加入它 目前 我可以在无头浏览器中创建会议 但无法从其他浏览
  • 如何将Dataframe数据存储到Firebase Storage?

    给定一个包含一些数据的 pandas Dataframe 将这些数据存储到 Firebase 的最佳方式是什么 我应该将 Dataframe 转换为本地文件 例如 csv txt 然后将其上传到 Firebase 存储 还是也可以直接存储
  • Egit - 现在无法结帐 - 陷入变基状态

    几天前我问了类似的问题 但我没有得到有用的答案 所以我想让一切变得更精确 我有一个大项目作为 github 上的私人仓库 我和我的一个朋友目前正在研究这个问题 我将整个存储库导入到本地存储库和 Eclipse 中 一切都很顺利 直到出现合并
  • 如何使用 SUPPLICANT_STATE_CHANGED_ACTION WiFi BroadcastReceiver - android

    我想在我的设备连接到 wifi 网络时在屏幕上显示连接过程 SUPPLICANT STATE CHANGED ACTION 由 WifiManager 提供 但我不知道如何使用它 有人可以帮我吗 您确实可以使用广播的意图SUPPLICANT
  • 如何检测对话框关闭事件?

    大家好 我正在 Windows 7 中使用 python3 4 PyQt5 制作 GUI 应用程序 应用程序非常简单 用户单击主窗口的按钮 弹出信息对话框 当用户单击信息对话框的关闭按钮 窗口的 X 按钮 时 系统会显示确认消息 这就是全部
  • 在 Visual Studio Code 中添加 C 外部库

    如何在 Visual Studio Code 中添加外部 C 库 I read 如何使用 GCC 包含所需的 C 库 https stackoverflow com questions 6016815 how to include need
  • 适用于 Amazon ElastiCache 的 C++ API 或库

    我正在亚马逊云上部署分布式应用程序 我希望使用 Amazon ElastiCache 特别是 ElastiCache for Redis 将两个独立的模块连接在一起 数据流 模块S gt ElastiCache gt 模块 ModuleA是
  • Django 全局 base.html 模板

    我是 Django 新手 我正在使用 Django 1 8 6 和 Python 2 7 我正在尝试使用一个可以在整个站点 每个应用程序都可以访问它 中全局使用的 base html 模板 这是我的测试站点当前的结构 twms polls
  • 对十六进制值使用比较运算符

    我想创建一个函数 仅当十六进制值指示大写或小写字母时 即 当十六进制代码介于 20 和 7A 之间时 才执行特定任务 有没有一种方法可以在 python 中做出逻辑上等同于的语句 if a gt 20 and a lt 7A perform
  • NSMutableArray:无法识别的选择器发送到实例

    我正在尝试使用 NSMutableArray 的 NSMutableArray 存储数组 int 9 9 其中我存储数组中的 81 个整数 void awakeFromNib initialization matrix for int i