我来自C#,LINQ就像第二天性。我有以下功能,我想知道我和#34;跳过"特殊属性可以缩短吗?我有一系列属性"名称"并且我想从self.attributes返回不包含这些名称的属性列表。这是我的功能,这将是C#中的1行:(
package
答案 0 :(得分:1)
它也可以是Objective-C中的单行
- (NSArray*)getDisplayedAttributes
{
return [self.attributes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"NOT name IN %@",@[@"D:AR",@"D:AS",@"D:ARF",@"D:DD",@"D:DH"]]];
}
虽然它是一条长线:)
请注意,此代码返回与原始数组中相同的Attribute
个对象,它不会像您的代码中那样创建新的对象。如果您希望过滤后的数组包含原始属性的克隆,则需要在copy
上实施Attribute
方法。