从NSSet创建一个唯一的NSArray,其中包含空值

时间:2013-11-17 01:00:19

标签: ios nsmutablearray nsarray nsset

我正在尝试创建一个NSArray排序的唯一值,不包括我目前拥有的NSdiction数组中的NULL值。但是除了删除NULL值之外,我可以做任何事情,我将如何做到这一点?

这是我目前的代码。

NSSet *uniqueAreaSet = [NSSet setWithArray:[tempArray valueForKey:@"stage"]];
    NSArray *tempAreaArray = [uniqueAreaSet allObjects];
    NSArray *sortedAreaArray = [tempAreaArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

要删除空值(如果它们实际上是NSNull对象),您可以使用以下命令:

sortedAreaArray = [sortedAreaArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
        return ![evaluatedObject isEqual:[NSNull null]];
    }]];