iOS 数组排序实例

iOS 数组排序 
NSMutableArray
*p = [[NSMutableArray alloc]
initWithObjects:@"S1",@"S14",@"S3",@"S4",@"S12",@"S6",@"S7",@"S8",@"S9",@"S10",@"S11",@"S5",@"S13",@"S2",nil];
答案:(比比谁的方法简单,高效)

NSMutableArray *p = [[NSMutableArray alloc] initWithObjects:@"S1",@"S14",@"S3",@"S4",@"S12",@"S6",@"S7",@"S8",@"S9",@"S10",@"S11",@"S5",@"S13",@"S2",nil];
    
    [p sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSString *a = (NSString *)obj1;
        NSString *b = (NSString *)obj2;
        
        int aNum = [[a substringFromIndex:1] intValue];
        int bNum = [[b substringFromIndex:1] intValue];
        
        if (aNum > bNum) {
            return NSOrderedDescending;
        }
        else if (aNum < bNum){
            return NSOrderedAscending;
        }
        else {
            return NSOrderedSame;
        }
    }];
    
    
    NSLog(@"p %@", p);

时间: 2024-11-08 20:11:53

iOS 数组排序实例的相关文章

iOS: plist实例

1 // 2 // main.m 3 // OSXDemo0601_plist 4 // 5 // Created by yao_yu on 14-6-3. 6 // Copyright (c) 2014年 yao_yu. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 BOOL isfile(NSString *path) 12 { 13 NSFileManager *fileManager = [N

JavaScript学习11 数组排序实例

JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: var array = new Array(); array.push(1); array.push(2); array.push(3); alert(array.length) 数组声明的第二种方式,并排序: var array = [1, 3, 25]; array.sort(); //对数组排序,

动态数组排序实例

要实现动态数组排序,需要将数据采用链表的形式存储.举例如下: package com.cn.datastruct; import java.io.IOException; import java.util.Scanner; //动态数组排序实例 public class DynamicArray { //链表结构 static class LinkList{ char data; //数据域 LinkList next; //指针域 } //创建链表 static LinkList CreatL

简单的iOS开发实例

项目需求 写一个iPhone应用程序,要求可以输入名字,点击按钮后,会显示一段文字向输入的名字打招呼,例如输入“宝玉”,显示“你好,宝玉!” 需求分析 这是一个很简单的应用程序,包含一个文本输入框,一个文本显示框,一个按钮.输入名字到文本输入框,再点击按钮,这时文本显示框的文字就会变成“你 好,<名字>!”.但是要注意,如果用户输入为空,要有警告提示用户重新输入:如果用户输入文字太长,超过16个字符,要自动截断. 产品设计 根据项目需求,画出相应的产品原型图: 初始状态 初始时,文本输入框为空

IOS中实例的权限控制

@public.@protected.@private的使用 在OC中声明一个类的时候,可以使用上面 @public.@protected.@private三个关键字声明实例的权限,例如下面的代码: #import <Foundation/Foundation.h> @interface Person : NSObject { @public NSString *_height; @protected NSString *_weight; @private NSString *_wife; }

IOS基础——实例变量四种范围类型

1.为了强制一个对象隐藏其数据,编译器限制实例变量范围以限制其在程序中的可见性. 但是为了提供灵活性,苹果也让开发者显示设置范围(四选一). 2.四种编译指令如下: @private 实例变量只能被声明它的类访问. @protected 实例变量能被声明它的类和子类,所有没有显示指定范围的实例变量都是@protected. @public 实例变量可以在任何地方被访问. @packge 使用modern运行时,一个@package实例变量在实现这个类的可执行文件镜像中实际上是@public的,但

iOS 优化实例

一.接口请求优化 在工程项目中,多个一级界面包含状态,如:服务入口的动态配置,未读消息数量,图片文字等,因此产品设计要每次切换 tab 时都请求数据,及时的更新页面状态.在实际开发中,频繁的调用接口,频繁的刷新界面显然是影响用户体验的,所以需要进行优化,优化的思路有以下几点: 使用 loading + 默认灰色矩形视图: 每隔 15s 以上才请求一次,防止频繁触发请求 @property (nonatomic, assign) CFTimeInterval lastTi; - (void)vie

iOS数组排序

[_fields sortUsingComparator:^NSComparisonResult(UITextField *obj1, UITextField *obj2) { /* NSOrderedAscending = -1L, // 右边的对象排后面 NSOrderedSame, // 一样 NSOrderedDescending // 左边的对象排后面 */ CGFloat obj1Y = obj1.frame.origin.y; CGFloat obj2Y = obj2.frame.

iOS 数组排序

降序:(从大到小) -(void)sortArrayDatas{ [array_datas sortUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) { RainfallStations *station_One = obj1; RainfallStations *station_Two = obj2; double totalRain_one = station_One.totalRain; doub