假设我使用 NSMutableArray 存储了一些数据数组。存储的数组包含时间戳和实时数据
我每次都从传感器设备接收大小为 6 的数组。第一个位置始终有时间戳数据,其余位置由实时数据占据。因此,我将它们按顺序存储在 NSMutableArray
在这里,我以不同的顺序接收带有时间戳的数据。因此,我需要相对于与时间戳绑定的数据(大小为 5 的数组)按升序对时间戳进行排序。这样我就可以绘制与每个时间戳关联的图表。
所以我的问题是如何在不干扰与每个时间戳值关联的数据的情况下对时间戳进行排序。
假设我使用 NSMutableArray 存储了一些数据数组。存储的数组包含时间戳和实时数据
我每次都从传感器设备接收大小为 6 的数组。第一个位置始终有时间戳数据,其余位置由实时数据占据。因此,我将它们按顺序存储在 NSMutableArray
在这里,我以不同的顺序接收带有时间戳的数据。因此,我需要相对于与时间戳绑定的数据(大小为 5 的数组)按升序对时间戳进行排序。这样我就可以绘制与每个时间戳关联的图表。
所以我的问题是如何在不干扰与每个时间戳值关联的数据的情况下对时间戳进行排序。
您可以使用-sortedArrayUsingFunction:context:
例如。
NSArray * sortedArray = [otherArray sortedArrayUsingFunction: DataComparatorF context:nil];
NSInteger DataComparatorF (id a, id b, void *context)
{
// return NSOrderedSame, NSOrderedAcending or NSOrderedDecending of a with respect to b
}
我会建议一种不同的格式来存储您的数据——我会使用一个带有 2 个键的字典数组,一个用于时间戳,一个用于数据(其值将是 5 个值的数组)。然后您可以使用 sortedArrayUsingDescriptors: 对数组进行排序,使用 sortDescriptorWithKey:ascending: 作为描述符(并传递您用于时间戳的任何键名)。你没有说你的时间戳是什么形式的。如果它是一个字符串,你可能必须先将它转换为一个 NSDate 对象才能正确排序。