• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 关于感情问题关于排序的问题

关于感情问题关于排序的问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了关于感情的问题,感情问题在线咨询,怎样处理感情问题,感情出了问题怎么办,感情问题等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于感情问题 关于排序的问题
描述:

有这样的需求 我需要从数据库里取出的model两个为一组放到array里作为dataSource给tableView使用
现在的算法那是这样的

- (NSMutableArray *)getAllSelectedTopicModleFormRealm {

       RLMResults<DICDiscoverSelectedTopic *> *savedTopics = [DICDiscoverSelectedTopic allObjectsInRealm:_realm];
        
        NSMutableArray *array = [NSMutableArray array];
        
        NSMutableArray *arrayTemp = [NSMutableArray array];
    
        for (int i = 0; i < savedTopics.count; i++) {
            DICDiscoverSelectedTopic *Topic = [savedTopics objectAtIndex:i];
            
            if (i % 2 == 0 || i == 0) {
                [arrayTemp addObject:Topic];
            } else {
                [arrayTemp addObject:Topic];
                [array addObject:arrayTemp.copy];
                [arrayTemp removeAllObjects];
    
            }
        }
 
    return array;
    
}

但是现在有个新的需求要根据topic.order (int型)来进行排序
这个值大的放到最前面 小的放到后面 然后还要按照这个顺序来把model两个为一组放到arrayTemp里 并且最后要统一放到array里
求改进这个方法!


解决方案1:

最后用了个很笨很笨的方法 希望能得到优化

- (NSMutableArray *)getAllSelectedTopicModleFormRealm {
    
    RLMResults<DICDiscoverSelectedTopic *> *savedTopics = [DICDiscoverSelectedTopic allObjectsInRealm:_realm];

    NSMutableArray *arrayFinalWithOrderAndCode = [NSMutableArray array];
    NSMutableArray *arrayToSaveOrder = [NSMutableArray array];
    NSMutableDictionary *dicWithTopic = [NSMutableDictionary dictionary];
    NSMutableArray *arrayWithOrder = [NSMutableArray array];
    NSMutableArray *arrayTemp = [NSMutableArray array];
    
    for (int i = 0; i < savedTopics.count; i++) {
        DICDiscoverSelectedTopic *topic = [savedTopics objectAtIndex:i];
        [arrayToSaveOrder addObject:[NSString stringWithFormat:@"%d", topic.topOrder]];
        [dicWithTopic setValue:topic forKey:[NSString stringWithFormat:@"%d", topic.topOrder]];
    }
    
    /* 进行排序 */
    NSMutableArray *sortedArray = [arrayToSaveOrder sortedArrayUsingSelector:@selector(compare:)].mutableCopy;
    
    /* 因为是升序所以要改为降序或者逆转数组 */
    for (int i = 0; i< sortedArray.count/2.0; i++) {
        [sortedArray exchangeObjectAtIndex:i withObjectAtIndex:sortedArray.count - 1 - i];
    }
    
    
    
    /* 得到排序后的数组 */
    for (int i = 0 ; i < sortedArray.count; i++) {
        NSString *order = [sortedArray objectAtIndex:i];
        DICDiscoverSelectedTopic *orderModel = [dicWithTopic objectForKey:order];
        [arrayWithOrder addObject:orderModel];
    }
    
    /* 将数组两个一组进行处理 */
    for (int i = 0; i < savedTopics.count; i++) {
        DICDiscoverSelectedTopic *topic = [savedTopics objectAtIndex:i];
        if (i % 2 == 0 || i == 0) {
            [arrayTemp addObject:topic];
        } else {
            [arrayTemp addObject:topic];
            [arrayFinalWithOrderAndCode addObject:arrayTemp.copy];
            [arrayTemp removeAllObjects];
            
        }
    }

    return arrayFinalWithOrderAndCode;
    
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 关于感情问题关于swift30的类目问题
  • 关于感情问题关于排序的问题

相关文章

  • 2017-08-23关于NSTimer的简单应用
  • 2017-06-05 iOS开发支付宝支付成功返回字符串怎么处理获取参数
  • 2017-06-05 iOSUDPsocket实现VoIP后台
  • 2017-06-05 怎样把一个view的所有约束添加到另一个view上
  • 2017-06-05 tableview侧滑删除的时候,删除最后一行的时候报错。
  • 2017-06-05 求问app关闭时,收到消息后badge递增的实现
  • 2017-06-05 插入手机数据线,虚拟机中的系统就会死掉
  • 2017-06-05 爱爱图片全部过程图片七牛上传图片过程中,会自动终止?
  • 2017-06-05 第三方第三方xcode集成第三方控件一般都使用什么?
  • 2017-06-05 修改qq密保问题iosblock外变量修改问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 桌面刷新闪屏iosapp从后台返回会闪屏的原因
    • 请教一个iOS动画
    • cocoapods无法更新
    • (swift)iOS开发,一个页面需要请求几部分数据,每次请求都是异步的,怎样让他们按顺序依次执行请求?
    • ipa包上传到itunes上,提示上传成功,但是登录ituens上找不到应用了,在活动里也没有
    • (swift)下载gitbook上的pdf书籍后如何转化为html
    • 使用storyboard建立tableview运行时代码运行了三次是什么情况?
    • UITextField的leftView点击属性问题
    • iOS免真机测试时报错一共运行过4台iphone有其中一个不能真机测试啦
    • iOS蓝牙链接打印机如何将图片转化为打印机可以识别的数据?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有