这是我的问题:我有一个plist
,里面有一些对象。这些对象有一些keys
类似“年龄”,“性别”,“人物”等。如果这些values
的{{1}}适合我的keys
,我会添加此项我的if statement
中的对象。
然后,当我的数组终于满了一些合适的对象时,我想检查每个对象的另一个键 - “minimumCost”,其类型为array
,然后将对象从最便宜的对象分类到最昂贵的对象。我不知道该怎么做。你能给我一些想法,代码或解决方案吗?
这是我的代码:
NSNumber
谢谢!
答案 0 :(得分:4)
您可以使用内置的NSArray
排序方法来完成此操作,而不是自己滚动。
在此处查看更多内容:http://www.cocoanetics.com/2009/03/nsarray-sorting-using-selectors/
答案 1 :(得分:1)
请找到以下代码,这是使用Objective-c实现冒泡排序:
- (void)viewDidLoad {
[super viewDidLoad];
NSMutableArray *unsortedArray = [[NSMutableArray alloc]initWithObjects:@"4",@"7",@"3",@"2",@"10",@"8",nil];
[self bubbleSort:unsortedArray];
}
<强>实施强>
- (NSArray *)bubbleSort:(NSMutableArray *)sortedArray
{
long count = sortedArray.count;
bool swapped = YES;
while (swapped)
{
swapped = NO;
for (int i = 1; i < count; i++)
{
int x = [sortedArray[i-1] intValue];
int y = [sortedArray[i] intValue];
if (x > y)
{
[sortedArray exchangeObjectAtIndex:(i-1) withObjectAtIndex:i];
swapped = YES;
}
}
}
return sortedArray;
}
答案 2 :(得分:0)
这是对 NSMutableArray 的整数进行未优化冒泡排序的最简单方法。
NSMutableArray <NSNumber *>*foo = [NSMutableArray arrayWithArray:@[@9,@8,@7,@6,@5,@4]];
for (int i = 0; i < [foo count]; i++) {
for (int j = 0; j < [foo count] - 1; j++) {
if (foo[j + 1].integerValue < foo[j].integerValue) {
NSInteger a = foo[j].integerValue;
foo[j] = foo[j + 1];
foo[j + 1] = @(a);
}
}
}