您好,匿名用户
随意问技术百科期待您的加入

奇怪的问题 NSMutableArray sortedArrayUsingFunction 无效

0 投票
NSComparisonResult dateSort1(id obj1, id obj2, void *context)

{
    NSString* d1=obj1;
    NSString* d2=obj2;

    NSLog(@"%@ %@ %d\n", d1, d2, [d1 compare:d2]);

    NSInteger k = [d1 compare:d2];

    if(k == 1)
    {
        NSLog(@"%@ %@ %d\n", d1, d2, [d1 compare:d2]);

        return NSOrderedAscending;
    }

    if(k == 0)return NSOrderedSame;
    if(k == -1)return NSOrderedDescending;

    return [d1 compare:d2];
}
 


int test()
{
   NSMutableArray *arx = [NSMutableArray arrayWithObjects:
    @"1", @"3", @"2", nil];

    [arx sortedArrayUsingFunction:dateSort1 context:nil];//这句话应该是排序吧,为什么之后输出没有排序呢。 非常奇怪, 小弟VC比较熟练,objc 是初学乍练, 检查了好几遍 调试了好几遍都没有发现问题的所在希望牛人给点提示

    for(int i = 0; i < [arx count]; i++)
    {
        NSLog(@"--->%@\n", [arx objectAtIndex:i]);
    }

    NSEnumerator *enm;

    enm=[arx objectEnumerator];

    id t;

    while(t = [enm nextObject])
    {
        NSLog(@"%@\n", t);
    }

   NSLog(@"xlsksdf over\n");

    return 0;
}
用户头像 提问 2012年 12月1日 @ Miss Fortune 上等兵 (418 威望)
分享到:

1个回答

0 投票
NSComparisonResult dateSort1(id obj1, id obj2, void *context)
{
    int num1 = [obj1 intValue];
    int num2 = [obj2 intValue];
    
    if (num1 > num2) {
        return NSOrderedDescending;
    } else if (num1 < num2){
        return NSOrderedAscending;
    } else {
        return NSOrderedSame;
    }
}
用户头像 回复 2012年 12月1日 @ Nunu 上等兵 (350 威望)
提一个问题:

相关问题

0 投票
1 回复 236 阅读
用户头像 提问 2012年 12月1日 @ Varus 上等兵 (281 威望)
0 投票
0 回复 5 阅读
用户头像 提问 2014年 3月30日 @ Tryndamere 上等兵 (325 威望)
0 投票
1 回复 30 阅读
用户头像 提问 2012年 12月1日 @ Hades 上等兵 (152 威望)
0 投票
1 回复 37 阅读
0 投票
0 回复 28 阅读
用户头像 提问 2012年 12月1日 @ Pikachu 上等兵 (475 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...