如何保留一个自动释放的核心数据字符串

时间:2014-04-15 04:55:16

标签: ios instruments dealloc

我有一个模态对象,它有几个字符串,其中一个字符串总是被释放。使用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;
     }
}

0 个答案:

没有答案