这是控制台中给出的错误。我正在搜索一个术语并用“+”替换“”,所以它进入URL确定,然后根据该搜索词获取RSS提要,这很好但是当我按下工具栏上的刷新按钮时,它崩溃时出现此错误:
-[UITableViewCellLayoutManagerSubtitle stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x5b67be0
2010-11-14 19:58:01.325 Example[63210:1903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCellLayoutManagerSubtitle stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x5b67be0'
这实际上是我的代码:terms = [terms stringByReplacingOccurrencesOfString:@" " withString:@"+"];
答案 0 :(得分:1)
terms
过早被释放,很可能是因为你没有正确地保留它。巧合的是,UITableViewCellLayoutManagerSubtitle
的一个实例随后被分配到terms
指向导致无法识别的方法异常的地址。
使用Instruments中的Zombie检测来查找问题。
此外,使用“构建和分析”,因为llvm静态分析器很可能会识别问题。
答案 1 :(得分:0)
有可能提前释放terms
并且在同一内存地址分配UITableViewCellLayoutManagerSubtitle
。检查您的retain / release / autorelease命令是否正确。