Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 筛选自定义对象的可变数组_Ios_Nspredicate - Fatal编程技术网

Ios 筛选自定义对象的可变数组

Ios 筛选自定义对象的可变数组,ios,nspredicate,Ios,Nspredicate,我有一个NSMutableArray,其中包含类型为“事件”的自定义对象。每个对象都有多个NSString作为属性。现在,我想过滤数组,检查是否已经有了这个插曲(从XML解析),并更新它或创建一个新的插曲对象 我使用以下代码: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"weblink = %@", currentEpisode.weblink]; NSArray* hits = [appDelegate.episod

我有一个NSMutableArray,其中包含类型为“事件”的自定义对象。每个对象都有多个NSString作为属性。现在,我想过滤数组,检查是否已经有了这个插曲(从XML解析),并更新它或创建一个新的插曲对象

我使用以下代码:

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

NSArray* hits = [appDelegate.episodesList filteredArrayUsingPredicate:predicate];
CurrentSpoint是我从XML解析的片段,我想检查它,EpiosodeList是我的带有片段对象的NSMutableArray。weblink是包含URL的NSString属性之一

当我查看weblink时,一切正常。但是Podcastfeeds中的url可能会改变,所以我想检查另一个名为kuhid的属性,它是feed中提供的唯一标识符“kuhid”也是一个NSString(例如:644ED540-EDCA-4D4F-882E-4B3106DDAAB3)。当我检查'kuhid'时,谓词从不匹配,我会得到重复的谓词。 这两个属性都是正确合成的NSString。如果我尝试我的另一个NSString(例如title)便利词,也是一样的


有人知道为什么这只适用于weblink而不适用于我的任何其他属性吗?

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


尝试记录两个字符串的
NSData
表示,以便在调试器中逐字节比较它们,以确保

您确定字符串完全匹配,即您没有前导或尾随空格,或小写与大写,或使用不同的破折号(例如长破折号与短破折号)或不可见字符?尝试记录这两个字符串的NSData表示形式,以便在调试器中逐字节比较它们。啊,非常感谢。我想我消除了所有的空白,但我是在创建谓词之后,而不是之前这样做的。谢谢,有时候我看不到最明显的东西。我知道那种感觉;)我会给你一个答案,这样你就可以在这个问题上打勾,而不是把它打开,这样你就可以把这个问题标记为已解决