0

更符合我的兴趣。

如果你有一个像这样定义的类......

MyClass
-------
NSString *name

你把它们中的很多放入一个数组(或可变数组)中。然后你可以使用这样的谓词......

[NSPredicate predicateWithFormat:@"name = %@", someValue];

过滤数组,使其仅包含名称为给定值的对象。

或者像这样对描述符进行排序......

[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];

按名称字段按升序对数组进行排序。

我的问题是,如果您有一个字符串数组(或 NSNumbers),您可以使用类似的“格式”谓词吗?

比如说你有数组......

@[@"Cat", @"Bat", @"Dog", @"Cow"];

你可以使用“predicateWithFormat”来过滤这个“sortDescriptorWithKey”数组来排序吗?

我知道您可以使用块,但只是想知道这是否可能?

4

2 回答 2

1

当然,您可以使用 predicateWithFormat: 过滤字符串数组或其他任何内容。至于排序,您将使用 sortedArrayUsingSelector:,并使用您想要的任何选择器(compare:、caseInsensitiveCompare: 等)。简单数组中没有键,因此不能使用 sortDescriptorWithKey。

于 2012-12-04T17:41:47.233 回答
0

字符串没有任何键来使用谓词或排序依据。您可以在apple docs中找到对数组进行排序的所有其他可能方式。

于 2012-12-04T17:39:29.643 回答