如何按升序或降序对普通数组(非NSArray)中的对象进行排序(假设数组中的所有对象都是整数)?这甚至可能吗?
这是我的代码:
int areas[detectedBlobs.size()];
for (int i = 0; i < detectedBlobs.size(); i++)
{
areas[i] = detectedBlobs[i].getWidth() * detectedBlobs[i].getHeight();
}
NSSortDescriptor *sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self"
ascending: NO];
return [areas sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]]; // error is here
答案 0 :(得分:0)
如果“普通数组”表示C数组,则使用标准库函数qsort()
。如果您的Xcode没有手册页作为其文档的一部分,请在终端中键入man 3 qsort
。
如果“数组中的所有对象都是整数”,则表示它们是NSNumber
个实例,然后您可以定义在qsort()
文件中传递给.m
的排序函数,然后它可以进行Objective-C方法调用以从NSNumber
对象获取整数值。
答案 1 :(得分:0)
sapply(y, function(i) assign(substr("UGCACGU", start = 1, stop = 1), i))
使用SORT DISCRIPTOR
编辑后
您必须先将其转换为数字
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self"
ascending: NO];
return [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];