这是我的数据模型:
@interface DataModel : NSObject
@property (strong, nonatomic) NSString *label;
@property (nonatomic) float value;
@property (nonatomic) NSInteger index;
@property (nonatomic, strong) NSString *unit;
@end
我有一个带有此数据模型的NSArray
NSArray *myDataModels;
现在我需要从这个数组中获得一个具有最高
@property (nonatomic) float value;
的数据模型我可以通过使用获得最高价值
[[myDataModels valueForKeyPath:@"@max.value"] intValue]
但是我需要的是具有最高价值的整个
DataModel
,而不仅仅是价值。有人可以帮助我吗?
最佳答案
您需要迭代数组并找到最大值。
DataModel *maxModel = nil;
float maxValue = FLT_MIN;
for (DataModel *model in myDataModels) {
if (model.value > maxValue) {
maxModel = model;
maxValue = model.value;
}
}
NSLog(@"The max model is %@", maxModel);
关于ios - 从[NSArray valueForKeyPath:@“@ max.value”]返回dataModel,而不只是value,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20942921/