0

Episodeタイプのカスタムオブジェクトを含むNSMutableArrayがあります。これらの各オブジェクトには、プロパティとして複数のNSStringがあります。次に、配列をフィルター処理して、このエピソード(XMLから解析済み)が既にあるかどうかを確認し、更新するか、新しいエピソードオブジェクトを作成します。

私は次のコードを使用します:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"weblink = %@", currentEpisode.weblink];

NSArray* hits = [appDelegate.episodesList filteredArrayUsingPredicate:predicate];

currentEpisodeは、XMLから解析したエピソードであり、確認したいのですが、episodeListは、Episodeオブジェクトを含むNSMutableArrayです。weblinkは、URLを含むNSStringプロパティの1つです。

Webリンクを確認すると、すべて正常に機能します。ただし、PodcastfeedsのURLは変更される可能性があるため、フィードで提供される一意の識別子であるkuhidと呼ばれる他のプロパティを確認したいと思います。'kuhid'はNSStringでもあります(例:644ED540-EDCA-4D4F-882E-4B3106DDAAB3)。'kuhid'をチェックすると、述語が一致せず、重複します。どちらのプロパティもNSStringであり、どちらも正しく合成されています。他のNSString(タイトルなど)のプロパティの1つを試しても同じです。

それがWebリンクでのみ機能し、他のプロパティでは機能しない理由を誰かが知っていますか?

4

1 に答える 1

0

文字列が完全に一致していること、つまり、先頭または末尾のスペース、小文字と大文字、または異なるダッシュ(たとえば、長いダッシュと短いダッシュ)または非表示の文字がないことを確認しますか?

念のため、両方の文字列の表現をログに記録しNSDataて、デバッガーでバイトごとに比較してみてください

于 2012-09-22T23:43:27.847 に答える