【问题标题】:No visible interface for NSMutableArray declares the selector replaceObjectAtIndex:NSMutableArray 没有可见接口声明选择器 replaceObjectAtIndex:
【发布时间】:2015-12-24 20:16:47
【问题描述】:

我有两个多维NSMutableArrays。每个都有四个NSMutableArrays,主要是NSMutableArray。我想将第一个数组中一个位置的数据与第二个数组中的数据交换,我正在为replaceObjectatIndex: withObject: 的语法而苦苦挣扎。这是我的代码行:

[newStock replaceObjectAtIndex:0 objectAtIndex:0 withObject: [[oldStock objectAtIndex: 0] objectAtIndex: 0]];

我正在尝试将oldStock 数组中的数据放入newStock 数组中,但我收到错误消息:“'NSMutableArray' 没有可见的@interface 声明选择器'replaceObjectAtIndex:'”。我已经用非多维数组做到了这一点,所以我相信选择器是有效的。

【问题讨论】:

  • 索引太多了!这是您应用中的实际代码吗?
  • 是的,这就是我的程序。我似乎无法为这条线找到正确的用法或结构。
  • 好吧,首先删除第一个objectAtIndex:0 它完全不合适

标签: objective-c cocoa compiler-errors nsmutablearray


【解决方案1】:

Objective-C 中的旧语法是这样的:

[[newStock objectAtIndex:0] replaceObjectAtIndex:0 withObject: [[oldStock objectAtIndex: 0] objectAtIndex: 0]];

幸运的是,您现在可以使用新语法:

newStock[0][0] = oldStock[0][0];

【讨论】:

  • 完美运行,我非常喜欢新语法!谢谢
  • @Keith "new" 已经不是什么新鲜事了,已经有一段时间了。
猜你喜欢
  • 1970-01-01
  • 2014-01-19
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
相关资源
最近更新 更多