Foundation 框架 NSArray、NSMutableArray排序

一、使用selector对数组进行排序(无返回)

  数组 book 中包含 AddressCard对象。

  1.对数组调用 sortUsingSelector方法

1 -(void) sortByName
2 {
3     SEL s = @selector(compareName:);
4     [book sortUsingSelector: s];
5 }

  2.在AddressCard类中添加比较方法:compareName

1 -(NSComparisonResult) compareName: (AddressCard *) theCard
2 {
3     //return [name compare: theCard.name];
4     return [theCard.name compare: name];
5 }

二、使用selector对数组进行排序,并将排序结果以NSArray形式返回

  1.对数组调用 sortedArrayUsingSelector 方法

1 -(NSArray *) sortBySelector
2 {
3     return [book sortedArrayUsingSelector: @selector(check:)];
4 }

  2.在AddressCard类中添加比较方法:check  

1 -(NSComparisonResult) check: (AddressCard *) theCard
2 {
3     return [theCard.name compare: name];
4 }
时间: 2024-11-07 09:26:04

Foundation 框架 NSArray、NSMutableArray排序的相关文章

Foundation框架(NSArray、NSMutableArray)

第一讲 NSArray.NSMutableArray 一.NSArray 概述:NSArray是OC中的数组类,开发中建议尽量使用NSArray替代C语言中的数组,C语言中数组的弊端,int array[4] = {10, 89, 27, 76};只能存放一种类型的数据.(类型必须一致),不能很方便地动态添加数组元素.不能很方便地动态删除数组元素(长度固定). 使用注意:只能存放任意OC对象, 并且是有顺序的,不能存储非OC对象, 比如int\float\double\char\enum\str

[OC Foundation框架 - 9] NSMutableArray

可变的NSArray,可以随意添加OC对象 1.创建 1 void arrayCreate() 2 { 3 NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"]; 4 5 [array addObject:@"2"]; 6 [array addObject:@"3"]; 7 8 [array removeObject:@"2"]; 9 NSLog(@&quo

foundation框架--NSArray类、数组常用操作

数组 是一组有序的对象集合,不能存放基本数据类型,只能存放类的实例(对象) NSArray *array1=[NSArray arrayWithObject:@"One"]; NSArray *array2=[NSArray arrayWithObjects:@"One",@"Two",nil]; NSArray *array3=[NSArray arrayWithArray:array2];(2和3指向同一个地址) NSArray *array

OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类: http://blog.csdn.net/jiangwei0910410003/article/details/41788223 今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的.

黑马程序员--Foundation框架之--NSArray类以及它的子类NSMutableArray类

今天我们继续来看一下Foundation框架中的NSArray类和 NSMutableArray类,NSArray类 是不可变的,NSMutableArray类是可变的. 一.NSArray类 NSArray中不可以存放基本数据类型,只能存放类的实例,如果需要将基本类型.结构体放入到数组中得话,需要通过NSNumber/NSValue进行数据的封装 同时不能在NSArray中存储nil // // main.m // 16_NSArray // // Created by waterfoxjie

(转载)OC学习篇之---Foundation框架中的NSArray类和NSMutableArray类

在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的. 下面就先来看一下NSArray类: 一.NSArray类 1 // 2 // main.m 3 // 16_NSArray 4 /

【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 String 开头的方法; // init 开头方法创建字符串 unichar data[5] = {97, 98, 99, 100, 101}; NSString * str = [[NSString alloc] initWithCharacters : data length : 5]; // str

NSArray利用Cocoa框架进行汉字排序

NSArray利用Cocoa框架进行汉字排序 在NSString有一个函数localizedCompare:,它的功能是通过自身与给定字符串的比較,返回一个本地化的比較结果.也就是说这个函数是支持汉字比較的. Student.h @interface Student : NSObject @property(nonatomic,copy)NSString *stuName; @property(nonatomic,assign)CGFloat stuScore; @property(nonato

黑马程序员-OC加强学习日记-Foundation框架中的字符串和数组

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.Foundation框架 1.概念:框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易. 为所有程序开发奠定基础的框架称为Foundation框架 2.使用:要想使用Foundation框架中的功能,包含它的主文件即可 #import <Foundation/Foundation.h> 二.NSString: 不可变字符串类   一个NSString对象