我让Nssarray名为Cameralist;因为我有camerainfo类对象的集合。
[ cameraInfoObject1 , cameraInfoObject2, cameraInfoObject3 , ...etc]
每个camerInfo对象都有一个属性,即cameraindex,它是整数。
因此它是cameraInfoObject1.Cameraindex。
因此我想根据摄像机索引对摄像机数组进行排序,摄像机索引是摄影师对象内每个cameraInfoObject中存在的属性。
目前我正在使用此
NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"camerainfo.cameraindex" ascending:YES selector:@selector(intValue)];
[self.service.gMyCameraList sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
但是一旦控件到达这一点,我的应用就会崩溃。
答案 0 :(得分:2)
尝试这样的事情:
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类型,如果没有,只需更改该名称。