我遇到了很大的问题。我从Apple资源页面的表搜索示例中复制了一些代码。
就是这样:
#pragma mark -
#pragma mark Content Filtering
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
[self.chatMessagesArrayCopyForSearching removeAllObjects]; // First clear the filtered array.
if ([searchText length]==0)
{
}else
{
for (FriendMessage *friend in chatMessagesArray)
{
NSComparisonResult result = [friend.message compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [searchText length])];
if (result == NSOrderedSame)
{
[self.chatMessagesArrayCopyForSearching addObject:friend];
NSLog(@"%@", friend.message);
}
}
}
}
应用程序崩溃时,例如我输入一个字母,然后是第二个字母。可能还有一些东西与 friend.message 因为控制台说:
-[AccessibilityObjectWrapper message]: unrecognized selector sent to instance 0x5d8d580
FriendMessage是自定义类,继承自NSObject,消息是标准的NSString *。
感谢您提供的任何帮助
mapedd
P.S。抱歉,如果代码不是很易读
答案 0 :(得分:0)
它在你的错误中说'AccessibilityObjectWrapper'的事实告诉你,某些时候可能有一个FriendMessage对象,但它现在已经消失了:)
这通常是因为您的代码中某处缺少保留。
您在哪里创建FriendMessage对象数组 - 您是否可以编辑问题并添加该代码?
感谢。