我面临一个关于NSMutableArray的奇怪问题。 我搜索了几个类似的帖子,但没有运气。情况是这样的:在我的appDelegate中,我声明了一个NSMutableArray属性,如下所示:

@property (nonatomic, retain) NSMutableArray *myRequests;

然后在同一个类的方法中,我像这样初始化数组:

self.myRequests = [[[NSMutableArray alloc] init] autorelease];

然后在同一方法的for循环中,我将对象添加到数组中:

while(sqlite3_step(compiledStatement) == SQLITE_ROW) {
    MyRequest *req = [MyRequest alloc];

    req.s_prp= [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];
   .
   .
   .
  [self.myRequests addObject:req];


  [req release];
}

我使用这个数组来为数据提供uitableview。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

 // Cell initialization ...

    MyRequest *req = (MyRequest *) [delegate.myRequests objectAtIndex:indexPath.row] ;
    cell.stypeLabel.text = req.ser_type_name; // RANDOMLY OCCURING ERROR !!!!!!!!!!!
}

异常随机发生,消息显示:[MyRequest ser_type_name]:发送到解除分配的实例0x6e7af20的消息

上面的代码有什么问题吗? MyRequest是一个自定义类。 我正在使用自定义tableviewcell类。

MyRequest类非常简单。 它在表单中有几个属性

@property (retain,nonatomic)    NSString *ser_type_name;

以及释放对象的dealloc方法。

谢谢

===============>>#1 票数:2

这行不正确:

MyRequest *req = [MyRequest alloc];

它应该是:

MyRequest *req = [[MyRequest alloc] init];

可能还有其他错误,但那个错误非常明显。

===============>>#2 票数:0

您没有显示如何定义MyRequest及其属性/ ivars,而不显示如何在代码中设置req.ser_type_name。 根据它们是否被保留,您可能会看到一些奇怪的行为,因为NSString的stringWithUTF8String返回一个自动释放的字符串。 您应该检查并在必要时修复它(虽然我看不出有什么错误会给您报告的消息)

  ask by Stathis translate from so

未解决问题?本站智能推荐:

1回复

消息发送到解除分配的实例

我试图在我的程序中排序内存问题。 我的程序在该行停止: whit mesage: 我有allData和measurments的属性 我将allData定义为: 其中GetTableOfLevel:TableLevel函数返回NSMutableArray。
1回复

removeObjectAtIndex导致“消息发送到解除分配的实例”

我正在将一些代码转换为ARC。 代码在NSMutableArray中搜索元素,然后查找,删除并返回该元素。 问题是该元素在“removeObjectAtIndex”时立即被释放: 当我跑它,我得到 在第二个日志声明中。 在ARC之前,我小心地在调用removeObjec
2回复

将消息发送到objectForKey到NSMutableArray实例,它的工作原理!!奇怪?

我的程序中编写了非常糟糕的代码,当时正在学习Objective C和iOS平台。 我做的是, 我已经像这样创建了NSMutableArray , 而且在我的代码后面我正在做这样的事情,基本上我操纵谷歌的地方api响应(JSON)。 我检查了文档,但是我没有在NSMutab
1回复

使用NSMutableArray发送到不可变对象的突变方法

我发现由于未捕获的异常“ NSInternalInconsistencyException”而导致的“错误终止”应用程序,原因:“-[__ NSCFArray insertObject:atIndex:]:将变异方法发送给不可变对象”,当我第二次将对象添加到可变数组时,第一次成功添加但第二次当它
1回复

使用PHP将NSMutableArray发送到Json服务器

我有一个NSmutableArray,我想以JSON格式发送到服务器,服务器将对它进行反序列化并更新mysql。 我认为这是正确的观念吗? 以及如何发送到服务器?
1回复

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

我正在尝试使用NSMutableArray的NSMutableArray存储一个数组int [9] [9],其中我存储了来自该数组的81个整数: 当awakeFromNib方法首次调用saveGrid时,它将起作用。 但是,当我更改矩阵时,它再次调用saveGrid,这一次出现此错误:
1回复

iOS无法识别的选择器发送到实例 - 将NSDictionary添加到NSMutableArray

为大量代码道歉,但人们最终总是要求批量。 尝试将NSDictionary添加到NSMutableArray时,我收到以下错误 这是抛出错误的代码,据我所知,从堆栈跟踪和使用换行符: self.aFinals在接口中被decalared,然后作为属性,然后合成然后初始化如下:
2回复

IOS共享扩展NSMutableArray addObject无法识别的选择器已发送到实例

单击发布到共享对话框后,如果arrSites变量当前不为空,则主机应用程序(例如Safari)挂断。 我只能在arrSites变量中存储1个对象。 如何将Object添加到我的NSMutableArray变量? 下面是我实现的代码,它在[arrSites addObject:dictS
3回复

获取[__ NSCFString count]的NSMutableArray:发送到实例的无法识别的选择器

我真的需要一些帮助...... 当我尝试使用NSMutableArray获取节的单元格数时,我得到[__NSCFString count]:无法识别的选择器发送到实例0x6d567e0 当我使用“rows = [[searchProfile objectAtIndex:section
1回复

当我在NSMutableArray上调用方法时,出现错误“无法识别的选择器发送到实例”

我有一个可变数组allRows 。 在循环中,我将allRows每个索引(也包含数组)分配给另一个数组。 但是,在该数组上调用shuffle方法时,程序崩溃。 该方法是一个类别,可以在其他数组上使用; 只是不row 。 } 编辑 在类的init方法中实例化allRo