Iphone [\u UITableViewSeparator视图rangeOfString:]:发送到实例的选择器无法识别
在表中搜索时,执行以下代码时遇到问题。这段代码在其他地方运行良好。但目前它给出的错误是 [\u UITableViewSeparator视图rangeOfString:]:发送到实例0x6041790的选择器无法识别 下面是困扰我的代码。请告诉我里面的虫子吉登Iphone [\u UITableViewSeparator视图rangeOfString:]:发送到实例的选择器无法识别,iphone,objective-c,xcode,memory-management,runtime-error,Iphone,Objective C,Xcode,Memory Management,Runtime Error,在表中搜索时,执行以下代码时遇到问题。这段代码在其他地方运行良好。但目前它给出的错误是 [\u UITableViewSeparator视图rangeOfString:]:发送到实例0x6041790的选择器无法识别 下面是困扰我的代码。请告诉我里面的虫子吉登 - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { [tableData removeAllObjects]
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[tableData removeAllObjects];// remove all data that belongs to previous search
if([searchText isEqualToString:@""] || searchText==nil)
{
[displayTable reloadData];
return;
}
NSInteger counter = 0;
for(NSString *name in dataSource)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
NSRange r = [name rangeOfString:searchText];
if(r.location != NSNotFound)
{
if(r.location== 0)//that is we are checking only the start of the names.
{
[tableData addObject:name];
}
}
counter++;
[pool release];
}
[displayTable reloadData]; }
提前谢谢
期待您的回复
谢谢您在
数据源
中放了什么?显然,它包含的对象不是NSString。看起来您过度释放了存储在数据源中的字符串。我会检查您使用/创建这些字符串的任何位置,以确保您释放这些字符串的次数不会超过您应该释放的次数。这意味着字符串应该位于内存中的内存已被释放,并且该位置上还有另一个对象(\u UITableViewSeparatorView,在您的示例中)。确保没有过度释放数组中的字符串
您可以尝试在instruments中使用NSZombiesEnabled进行搜索:非常感谢!!。。。。。我没有注意到在编写代码时。。。。。我错误地选择了自动释放,而初始化BTW在这里不能接受多个答案。。。。。。但是谢谢你的帮助,救了我一天!!……)非常感谢!!。。。。。我没有注意到在编写代码时。。。。。我在初始化时错误地选择了自动释放