我有一个名为 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 类型,如果不是,只需更改该名称即可。