定制的过滤NSMutable对象Array

问题描述:

我有类型的集含的NSMutableArray自定义对象。每个这些对象都有多个NSString作为属性。现在我想过滤数组以检查是否已经有了这个插曲(从XML解析)并更新它或创建一个新的Episode对象。定制的过滤NSMutable对象Array

我使用下面的代码:

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

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

currentEpisode是我从XML解析的事件,我想检查,episodeList是我的NSMutableArray与情节的对象。 weblink是包含URL的NSString属性之一。

当我检查网络链接一切工作正常。但Podcastfeeds中的URL可以更改,因此我想检查另一个名为kuhid的属性,该属性是提要中提供的唯一标识符。 'kuhid' 也是一个NSString(例如:644ED540-EDCA-4D4F-882E-4B3106DDAAB3)。当我检查'kuhid'时谓词从不匹配,我得到重复。 这两个属性都是NSStrings,都正确合成。如果我尝试使用其他NSString(例如title)propierties,也是如此。

任何人有一个想法,为什么这项工作只与网络链接,不与任何我的其他性质的?

+0

你确定你的字符串** **准确匹配,即你没有开头或结尾空格或小写字母与大写字母,或使用不同的破折号(例如长破折号与短破折号)或不可见字符?尝试记录两个字符串的NSData表示形式,以便在调试器中逐字节比较它们,以确保它们一致。 – AliSoftware

+0

啊,非常感谢。我认为我消除了所有的空格,但是我在创建谓词之后做了这些,而不是之前。谢谢,有时候我看不到最明显的东西。 –

+0

我知道那种感觉;)我将使它的答案,这样你可以标记这个问题通过选中它,而不是离开它打开,从而解决 – AliSoftware

你确定你的字符串完全匹配,即你没有前导或尾随空格,或小写字母大写对比,或不同的使用破折号(长划线与例如短划线)或不可见的字符?

尝试登录两个字符串的NSData表示在调试器字节比较他们字节只是要确定