NSSet 具有来自对象数组的字符串属性

NSSet with string property from array of objects

提问人:Rik 提问时间:8/14/2021 更新时间:8/14/2021 访问量:133

问:

我有一个数组,我想从这个对象的 NSString 属性创建一个集合:

@protocol something<NSObject>

@property(nonatomic, readonly) NSString *Id;

@end

我有一系列的东西:

NSArray<id<something>> *arrayOfSomethings;

我想获取 Id 属性的 NSSet:

NSSet<NSString *> *idSet = ?; // Calculate from arrayOfSomethings.

我该怎么做?谢谢

iOS Objective-C nsarray nsset

评论


答:

1赞 Paulw11 8/14/2021 #1

您可以使用创建一个包含 s 的数组,然后使用它来创建一个valueForKey:idNSSet

NSSet<NSString *> *idSet = [NSSet setWithArray:[arrayOfSomethings valueForKey:@"id"]];