RemoveObjectAtIndex不起作用

时间:2015-04-28 18:45:05

标签: ios arrays

我想从我的数组中删除一个对象,但它不起作用!

这是我的代码:

[array removeObjectAtIndex:2];

它告诉我:

  

没有可见的@Interface用于" NSArray"声明选择器" removeObjectAtIndex:"

我使用Objective-C在Xcode 6.3.1中工作。

我该怎么办?

2 个答案:

答案 0 :(得分:3)

您无法从NSArray中移除对象,因为它是不可变的。对于任何修改,添加或删除,您都需要使用NSMutableArray

因此,您的数组对象应为NSMutableArray类型。

 NSMutableArray *array;

答案 1 :(得分:1)

您似乎使用NSArray而不是NSMutableArray。 方法" removeObjectAtIndex"只能与NSMutableArray一起使用。

例如:

 NSMutableArray * mutableArray = [[NSMutableArray alloc] init];
// array is the NSArray that you are using in your code currently
 [mutableArray addObjectsFromArray:array];
 [mutableArray removeObjectAtIndex:2];

或者

<pre>
  <code class="html">
    &lt;div class="alert-wrap g--5"&gt;
      &lt;input type="checkbox" id="alert-check"&gt;
      &lt;label for="alert-check"&gt;CLOSE&lt;/label&gt;
      &lt;div class="alert card"&gt;
        &lt;p&gt;Surface rules! That is all.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  </code>
</pre>

看看这些链接以便更好地理解:

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/index.html

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/

http://rypress.com/tutorials/objective-c/data-types/nsarray