热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何按整数对数组进行排序-howtosortanarraybyinteger

iamtryingtosortmyscoreboardbutthescoreboardissortedbynamebutiwantsortitbyscore

i am trying to sort my score board but the score board is sorted by name but i want sort it by score i.e (high to low) score plese help to solve this.i stored the playername and score details in one label.
please help me thanks in advance

我正在尝试对我的记分板进行排序,但记分板按名称排序,但我希望按分数排序,即从高到低分数,这有助于解决这个问题。我将玩家名称和得分细节存储在一个标签中。请提前帮助我

asd 45 asd 66 rrr 55 tes 42

asd 45 asd 66 rrr 55 tes 42

i want to show like

我希望表现得像

asd 66 rrr 55 asd 45 tes 42

asd 66 rrr 55 asd 45 tes 42

-(void)btnSaveScore
{
    if(!dictWinData)
        dictWinData = [[NSMutableDictionary alloc] init];


    array = [[NSMutableArray alloc] init];
    array = [[[NSUserDefaults standardUserDefaults] valueForKey:@"ScoreName"] mutableCopy];
    if([array count] == 0)
    {
        array = [[NSMutableArray alloc] init];
    }

    NSString *strName = [NSString stringWithFormat:@"%@",strNameOFPlayer];
    NSString *strScore = [NSString stringWithFormat:@"%@",[NSString stringWithFormat:@"%d",iTap]];
    int intScore = iTap;
    NSLog(@"iTap data is:--> %d",intScore);

    if([strNameOFPlayer length]==7)
        [array addObject:[NSString stringWithFormat:@"%@                   %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 6)
        [array addObject:[NSString stringWithFormat:@"%@                     %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 5)
        [array addObject:[NSString stringWithFormat:@"%@                       %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 4)
        [array addObject:[NSString stringWithFormat:@"%@                         %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 3)
        [array addObject:[NSString stringWithFormat:@"%@                           %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 2)
        [array addObject:[NSString stringWithFormat:@"%@                             %@",strName,strScore]];
    else if ([strNameOFPlayer length] == 1)
        [array addObject:[NSString stringWithFormat:@"%@                              %@",strName,strScore]];


    NSSortDescriptor *sorter = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
    NSArray *sorters = [[NSArray alloc] initWithObjects:sorter, nil];
    [sorter release];
    NSArray *sortedArray = [array sortedArrayUsingDescriptors:sorters];
    [sorters release];


    NSUserDefaults *dfltsData = [NSUserDefaults standardUserDefaults];
    [dfltsData setObject:sortedArray forKey:@"ScoreName"];
    //        [dfltsData setObject:array forKey:@"ScoreCard"];
    [dfltsData synchronize];

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert"
                                                    message:@"Score is saved."
                                                   delegate:self
                                          cancelButtonTitle:@"Ok"
                                          otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}

1 个解决方案

#1


3  

Here you are adding the string (containing name and score) to the array. Instead, create a model class with the name (NSString*) and score (NSNumber*) members and add them to the array.

在这里,您将字符串(包含名称和分数)添加到数组中。而是创建一个名为(NSString *)和score(NSNumber *)成员的模型类,并将它们添加到数组中。

For sorting,

NSArray *sortedArray = [yourUnsortedArray sortedArrayUsingComparator: ^(id obj1, id obj2) {

    if ([[obj1 score] integerValue] > [[obj2 score] integerValue]) {
        return NSOrderedDescending;
    }

    if ([[obj1 score] integerValue] <[[obj2 score] integerValue]) {
        return NSOrderedAscending;
    }
    return NSOrderedSame;
}];

推荐阅读
  • Myappcrashedandthecodeisthefollowing:我的应用程序崩溃,代码如下:elseif(){CGDetailVie ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • iOS逆向工程(三):利用Cycript调试App
    利用Cycript调试App一、Cycript是什么?Cycript是一种脚本语言,是Ob ... [详细]
  • ObjectiveC与Swift之间的互相调用和跳转
    Objective-C与Swift之间的互相调用和跳转-一、OC和Swift互相跳转首先在需要引入Swift的文件中导入头文件#import工程名-Swift.hOC跳转Swift ... [详细]
  • 我的iOS开发入门自学路径
    我有一个清单,列着希望在大学里完成的事。比如,学一门乐器,和朋友去旅游,搭建自己的博客,去滑翔,看各主题的书籍。其中一项是,写自己的App并且上架。去年开始,我准备完成这一项,所以 ... [详细]
  • 概述UIStackView是iOS9中新增的API,类似于Android中的线性布局。UIStackView相当于一个容器,根据向UIStackView中添加视图的顺序,UIStack ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • nil用来给对象赋值(Objective-C中的任何对象都属于id类型),NULL则给任何指针赋值,NULL和nil不能互换,nil用于类指针赋值(在Objective-C中类是一 ... [详细]
  • Objective C接入Sonar代码扫描
    目录技术方案环境准备扫描器配置项目配置SonarQube配置jenkins接入一些坑技术方案Sonar本身有对OC的代码扫描插件——SonarCFamily,但是是收费的。出于成本 ... [详细]
author-avatar
dmcm0008
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有