0

iOS アプリに検索機能を追加しました。ユーザーが入力した文字列とターゲット文字列を次のように比較するだけです。

if (!([name rangeOfString:searchText].location == NSNotFound) || !([description rangeOfString:searchText].location == NSNotFound)) 

ここに画像の説明を入力

しかし、複数のボタンをタップすると、アプリケーションがこの場所でクラッシュします。

そして時々このエラーがあります:

 MyApp [2407:6bf7] -[__NSCFSet length]: unrecognized selector sent to instance 0x4f71c0
 MyApp [2407:6bf7] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFSet length]: unrecognized selector sent to instance 0x4f71c0'

この2つのエラーについて何か考えはありますか?

サンクス。

4

1 に答える 1

0

このログは、過剰解放されたオブジェクトにメッセージを送信していることを示しています。したがって、値を返すことができず、メッセージを送信するとクラッシュします。スキームで NSZombies を許可する必要があります (編集スキームを押してください) もっと多くのコードを投稿できますか? 解放する場所を表示すると、メモリ リークが発生します。Shivan Raptor も言ったように、UITextField はautoreleased

または UITextField が自動解放されていて、解放を送信している場合は、コードを介してスキャンを取り除き、release ビルドして分析してメモリリークをチェックします...

于 2012-05-10T12:13:21.433 に答える