对象数组中带有字符串 属性 的 NSSet
NSSet with string property from array of objects
我有一些东西的数组,我想从这个对象上的 NSString 属性 做一个集合:
@protocol something<NSObject>
@property(nonatomic, readonly) NSString *Id;
@end
我有一些东西:
NSArray<id<something>> *arrayOfSomethings;
我想要获取 Id 属性的 NSSet:
NSSet<NSString *> *idSet = ?; // Calculate from arrayOfSomethings.
我该怎么做?谢谢
您可以使用 valueForKey:
创建一个包含您的 id
的数组,然后使用它创建一个 NSSet
NSSet<NSString *> *idSet = [NSSet setWithArray:[arrayOfSomethings valueForKey:@"id"]];
我有一些东西的数组,我想从这个对象上的 NSString 属性 做一个集合:
@protocol something<NSObject>
@property(nonatomic, readonly) NSString *Id;
@end
我有一些东西:
NSArray<id<something>> *arrayOfSomethings;
我想要获取 Id 属性的 NSSet:
NSSet<NSString *> *idSet = ?; // Calculate from arrayOfSomethings.
我该怎么做?谢谢
您可以使用 valueForKey:
创建一个包含您的 id
的数组,然后使用它创建一个 NSSet
NSSet<NSString *> *idSet = [NSSet setWithArray:[arrayOfSomethings valueForKey:@"id"]];