`
lkjxshi
  • 浏览: 29187 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

NSCFArray insertObject:atIndex:]: mutating method sent to immutable obje的解决方法

阅读更多

今天做搜索纪录的时候遇到个奇怪的问题,纪录一下。

由于我们做的搜索纪录只需要保存6条纪录,所以我把他放进了NSUserDefaults中

NSMutableArray *searchRecordArray = [[NSUserDefaultsstandardUserDefaults] objectForKey:@"SearchRecord"];

 

 

但是在对可变数组进行删除操作时却发生了下面的错误,可我的数组是用NSMutable声明的。

NSCFArray insertObject:atIndex:]: mutating method sent to immutable obje

 

解决方法:再声明一个可变数组进行删除。。。

NSMutableArray *newsearchRecordArray = [NSMutableArray arrayWithArray:searchRecordArray];

分享到:
评论

相关推荐

    object-c insert

    对于NSMutableArray,可以使用`insertObject:atIndex:`方法来插入一个对象到指定位置: ```objc NSMutableArray *array = [NSMutableArray arrayWithObjects:@"A", @"B", @"C", nil]; [array insertObject:@"D" at...

    ios-UITableViewCell移动、删除、添加.zip

    开发中常用的移动、删除、添加; 移动: 1:数据源 2:移除方法: - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)... [_array insertObject:object atIndex:toIndexPath.row]; }

    Objective-C数组操作总结

    - `insertObject:atIndex:`方法可以在指定的下标位置插入一个元素。 - `removeObject:`方法可以删除数组中所有与给定对象相同的元素。 - `removeObject:inRange:`方法可以删除数组中指定范围内所有与给定对象相同...

    Foundation框架

    2. 插入元素:`insertObject:atIndex:`。 3. 替换元素:`replaceObjectAtIndex:withObject:`。 4. 删除元素:`removeObjectAtIndex:`,`removeAllObjects`。 5. 遍历数组:可以使用`for`循环或快速遍历(`for object...

    iOS 常用公共方法

    - `NSMutableArray` 的 `addObject:`、`insertObject:atIndex:`、`removeObjectAtIndex:` 方法分别用于添加、插入和移除对象。 3. **字典操作**: - `NSDictionary` 和 `NSMutableDictionary` 使用 `objectForKey...

    Objective-c入门简介

    例如,`- (void)insertObject:(id)obj atIndex:(NSUInteger)index`是一个实体方法,它接受一个对象和一个索引作为参数。 通信是Objective-C中调用方法的方式,通过使用对象名和中括号`[]`来实现。例如,`[myObject ...

    苹果 Cocoa 编码规范中文版

    例如,“insertObject:atIndex:”比“insert:at:”更清晰,后者缺少上下文信息。 - **避免缩写:** 除非是广泛接受的缩写,否则应完整拼写名称。例如,“destinationSelection”比“destSel”更好。 - **避免歧义...

    ifengNewsOrderDemo.zip

    Objective-C中的NSArray提供了一系列的数组操作方法,如insertObject:atIndex:、removeObjectAtIndex:等,用于动态调整频道顺序。 6. **视图刷新**:订阅状态改变后,视图需要实时更新。使用UITableView或...

    iphone存储用法汇总

    - 插入元素:`[mutableArray insertObject:@"ItemToInsert" atIndex:1];` ### 三、NSDictionary与NSMutableDictionary #### NSDictionary `NSDictionary`用于表示键值对的不可变集合。键必须是不可变对象,如字符...

    苹果_Cocoa_编码规范(中文版)

    例如,“insertObject:atIndex:”比“insert:at:”更清晰,后者缺少上下文信息。 - **避免缩写:** 除非是广泛接受的缩写,否则应完整拼写。例如,“destinationSelection”优于“destSel”,后者可能导致理解困难...

    oc数组知识点

    在特定位置插入元素:`[mutableArray insertObject:@"newElement" atIndex:index]` ##### 删除元素 移除数组中的某个元素:`[mutableArray removeObject:@"element"]` 移除特定索引处的元素:`[mutableArray ...

    iPhone开发011-ObjectiveC(详)

    调用方法实际上是向对象发送消息,如`[myArray insertObject:anObject atIndex:0];`。此外,Objective-C还支持点语法,如`myArray.insertObject(anObject atIndex:0);`,这使得代码更加简洁易读。 ### 属性声明 自...

    OC 基础总结

    [mArray insertObject:@"*1*" atIndex:0]; ``` - 删除对象: ```objc [mArray removeObjectAtIndex:0]; [mArray removeObject:@"3"]; [mArray removeLastObject]; [mArray removeObjectAtIndex:(mArray.count - 1)]...

    斯坦福大学开放课程:iOS开发教程2010年秋(Lecture 4)

    - `-(void)insertObject:(id)anObject atIndex:(int)index;`:在指定位置插入一个对象。 - `-(void)removeObjectAtIndex:(int)index;`:移除指定索引处的对象。 #### NSDictionary与NSMutableDictionary - **...

    iphone开发快速入门[收集].pdf

    [array insertObject:@"New Object" atIndex:0]; ``` Objective-C的类方法常用于工厂模式,生成新实例。例如,NSMutableArray类的`array`类方法可以创建一个新的空数组: ```objc NSMutableArray *myArray = ...

    苹果 Cocoa 编码规范(中文版)

    例如,命名"insertObject:atIndex:"比"insert:at:"更加清晰,因为前者明确指出要插入的对象及其位置,而后者则有歧义。同样,"removeObjectAtIndex:"清楚地表达了该方法用于移除特定索引位置的对象,而单独的"remove...

Global site tag (gtag.js) - Google Analytics