根据对象数组中存储的整数值对 NS 数组进行排序



我有一个名为 Cameralist 的 Nssarray;因为我有 camerainfo 类对象的集合。

[ cameraInfoObject1 , cameraInfoObject2, cameraInfoObject3 , ...etc]

每个 camerInfo 对象都有一个属性,即 cameraindex,它是整数。

因此,它是cameraInfoObject1.Cameraindex。

因此,我想根据相机索引对我的相机列表数组进行排序,该索引是相机列表对象内每个相机信息对象中存在的属性。

目前我正在使用这个

 NSSortDescriptor* sortDescriptor = [NSSortDescriptor      sortDescriptorWithKey:@"camerainfo.cameraindex" ascending:YES selector:@selector(intValue)];
    [self.service.gMyCameraList sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];

但是一旦控件达到这一点,我的应用程序就会崩溃。

尝试这样的事情:

NSArray *sortedArray;
sortedArray = [self.service.gMyCameraList sortedArrayUsingComparator:^NSComparisonResult(CameraInfo a, CameraInfo b) {
  if ( a.Cameraindex < b.Cameraindex) {
        return (NSComparisonResult)NSOrderedAscending;
    } else if ( a.Cameraindex > b.Cameraindex) {
        return (NSComparisonResult)NSOrderedDescending;
    } 
    return (NSComparisonResult)NSOrderedSame;
}];

假设您的对象是 CameraInfo 类型,如果不是,只需更改该名称即可。

最新更新