我有一个模态对象,它有几个字符串,其中一个字符串总是被释放。使用malloc断点和仪器僵尸检测我发现了哪个是对象。但是现在不知道该怎么办,因为我正在使用ARC
我在下面放了一些代码
核心数据管理对象
@property (nonatomic, retain) NSString * newExVal;
在两个地方访问它
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
ABC *abc = [abcList objectAtIndex:indexPath.row];
int newCnt = [abc.newExVal intValue];
}
,同样在
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ABC *abc = [abcList objectAtIndex:indexPath.row];
int newCnt = [abc.newExVal intValue];
}
它在cellForRowAtIndexPath
而不在heightForRowAtIndexPath
中崩溃。我知道在heightForRowAtIndexPath
之前调用cellForRowAtIndexPath
。我该怎么做才能确保没有释放这个字符串。
编辑: Error message -[CFString intValue]: message sent to deallocated instance 0x98707e0
我正在像这样
中分配xml解析器中的值- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if (ord_newExp) {
ord_newExp = NO;
orderList.newExceptionVal = string;
}
}