- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想清除我的数组,我所做的是,
我的应用程序中有 tableview View ,首先我从服务器获取数据并将其加载到 tableView 中。
-(void)viewDidLoad{
//fetching data from server using background thread and storing it in array called (msg_array)
[table reloadData];
}
当最后一行出现在屏幕上时,我想从服务器获取新数据并显示它,
-(void)LoadMoreData{ //this method gets fire when last cell is on screen
if ([msg_array count]>0)
{
[msg_array removeAllObjects]; //crashes here
}
}
这给出了错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSArrayI removeAllObjects]: unrecognized selector sent to instance
为什么会导致崩溃:
数组是这样分配的:
msg_array = [dictShow copy];
dictshow 包含数据并将其复制到 msg_array 并且 dictshow 是 mutabledictionary
(摘自comments)
最佳答案
'-[__NSArrayI removeAllObjects]: unrecognized selector sent to instance
这意味着该数组没有您尝试调用的方法。那是因为它是一个不可变数组(NSArray
),而不是可变数组(NSMutableArray
)。
如果你想改变它,要么让它可变。或者,替换:
[msg_array removeAllObjects];
与:
msg_array = @[];
根据您的评论,数组应该是可变的。这意味着你有一个可变的属性/实例变量,但你正在创建一个不可变的实例来存储它。找到那个位置并更新它(至少创建/返回一个 mutableCopy
)。
关于ios - removeAllObjects 崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21853908/
我想清除我的数组,我所做的是, 我的应用程序中有 tableview View ,首先我从服务器获取数据并将其加载到 tableView 中。 -(void)viewDidLoad{ //fetc
Car class -------------- price color 崩溃代码是: NSMutableArray *list = [[NSMutableArray alloc] init]; Ca
我知道如何使用 NSMutableArray 实现此目的,但是清空 NSArray 类的整个数组的正确方法是什么。我需要这样做,因为我需要重新加载 tableView。我正在使用 ARC。 最佳答案
我的 ViewController 中有一个 NSMutableArray,它是我的 UITableView 的数据源,定义如下: NSMutableArray *messageArray; 我有一个
我有几个数组,我试图从中清除所有对象,但使用 removeAllObjects 会使应用程序崩溃并返回 sigabrt。在我的研究过程中,我发现虽然我正在创建 NSMutableArrays,但我可以
我有一个名为 logBuffer 的 NSMutableArray 对象,它保存日志信息并每隔 N 行将其转储到一个文件中。当发生这种情况时,我删除了它的所有条目, [logBuffer remo
假设我有一个 NSMutableArray *sasquatch里面有一些数组。 在 ARC 中,如果我调用 [sasquatch removeAllObjects];这会导致 sasquatch 数
如何在removeAllObjects中使用RLMArray? 我收到'RLMException', reason: 'Attempting to mutate a readOnly RLMArray
以下是我的主要代码中的一个小片段,其中我遇到了与保留周期相关的问题 [rootObj.completeLines addObject:line]; [line setContainingArray:r
免责声明:我对 iOS 开发还比较陌生。我在这个项目中使用 ARC。 我想知道这些操作中哪一个更快,为什么? if([selectedIndexes containsObject:indexPath]
在 ARC 下,removeAllObjects 在 NSMutableArray 上对 CPU 来说会比简单地执行 myArray = [NSMutableArray new] 更强烈(明确地单独释
我正在观看 NSArray property与 KVO .我已经实现了 KVC就像在this post我还实现了大部分 KVC数组访问器。为了改变它,我使用 mutableArrayValueForK
这就是我声明我的 NSMutablearray self.otherDealsList = [[NSMutableArray alloc] init]; 我将从网络服务获取一些值并将其插入到该数组中
我需要知道 NSArray 或 NSMutableArray 的 removeAllObjects 方法是否释放了内存。 如果我的数组有 10000 个元素。我可以使用吗 [array removeA
在我的应用程序中,我将对象直接添加到 ArrayController。当我想清洁我做的所有元素时: [[downloadItemsController content] removeAllObject
我目前正在调试一个在 Instrument 中使用 ARC 的应用程序。似乎如果 Object A 包含一个包含 Object B 的数组,我需要在实例变量 上显式调用 removeAllObject
我正在尝试让 dealloc 方法在一些存储在/曾经存储在可变数组中的项目上运行,但似乎找不到实现它的方法。 我在一个更大的 ARC 项目中工作时遇到了这个问题,并在这篇文章中找到了答案:deallo
我是一名优秀的程序员,十分优秀!