0

私は大きな問題を抱えています。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);
    }
  }
 }
}

たとえば、1 文字を入力してから 2 文字目を入力すると、アプリケーションがクラッシュします。おそらく、friend.messageコンソールに何かが表示されます:

-[AccessibilityObjectWrapper message]: unrecognized selector sent to instance 0x5d8d580

FriendMessage は NSObject から継承されたカスタム クラスであり、メッセージは標準の NSString *.

提供されたヘルプに感謝します

マップされた

psコードがあまり読みにくい場合は申し訳ありません

4

1 に答える 1

0

エラーに「AccessibilityObjectWrapper」と表示されているという事実は、ある時点でFriendMessageオブジェクトがあった可能性があることを示していますが、現在はなくなっています:)

これは通常、コードのどこかに保持が欠落しているためです。

FriendMessageオブジェクトの配列をどこで作成しますか?質問を編集してそのコードを追加することもできますか?

ありがとう。

于 2010-08-03T15:13:22.163 に答える