用category重写NSMutableArray排序,倒序
首先新建Category为convert Category on为NSMutableArray的工程
可以看见.h的文件名为NSMutableArray+convert.h
.m 文件名为NSMutableArray+convert.m
NSMutableArray+convert.h文件的写法是
#import <Foundation/Foundation.h> @interface NSMutableArray (convert) - (NSMutableArray *)convert:(NSMutableArray *)array; - (NSArray *)convert1:(NSArray *)array; - (NSMutableArray *)convert2:(NSMutableArray *)array; @end
NSMutableArray+convert.h文件的写法是
#import "NSMutableArray+convert.h" @implementation NSMutableArray (convert) - (NSMutableArray *)convert:(NSMutableArray *)array {NSInteger count = [array count];for (int i = 0; i < count; i++) {for (int j = 0; j < count - i - 1; j++) {// if ([[array objectAtIndex:j] intValue] > [[array objectAtIndex:(j + 1)] intValue]) {// if([[array objectAtIndex:j] compare:[array objectAtIndex:j + 1]] == -1){if([[array objectAtIndex:j] compare:[array objectAtIndex:j + 1] options:NSNumericSearch] == -1){ //potions NSNumericSearch = 64,[array exchangeObjectAtIndex:j withObjectAtIndex:(j + 1)];}}}for (NSString *i in array) {NSLog(@"冒泡排序降序:%@", i);}return array; } - (NSArray *)convert1:(NSArray *)array { // NSInteger count = [array count];array = [[array reverseObjectEnumerator] allObjects]; //数组倒叙排列for (NSString *i in array) {NSLog(@"数组倒叙输出,用方法%@", i);}return array; } - (NSMutableArray *)convert2:(NSMutableArray *)array {NSInteger count = [array count];for (int j = 0; j < count / 2; j++) {// if ([[array objectAtIndex:j] intValue] > [[array objectAtIndex:(j + 1)] intValue]) {// if([[array objectAtIndex:j] compare:[array objectAtIndex:j + 1]] == -1){// if([[array objectAtIndex:i] compare:[array objectAtIndex:j + 1] options:NSNumericSearch] == -1){ //potions NSNumericSearch = 64,[array exchangeObjectAtIndex:j withObjectAtIndex:(count - j - 1)];}for (NSString *i in array) {NSLog(@"数组倒序输出,交换位置%@", i);}return array; } @end
main.m文件中代码
#import <Foundation/Foundation.h> #import "NSMutableArray+convert.h" int main(int argc, const char * argv[]) {@autoreleasepool {NSMutableArray *array = [NSMutableArray arrayWithObjects:@"34",@"8",@"32",@"90",@"33",@"78",@"30", nil];[array convert:array];NSMutableArray *array1 = [NSMutableArray arrayWithObjects:@"34",@"8",@"32",@"90",@"33",@"78",@"30", nil];[array1 convert1:array1];NSMutableArray *array2 = [NSMutableArray arrayWithObjects:@"34",@"8",@"32",@"90",@"33",@"78",@"30", nil];[array2 convert2:array2];}return 0; }
类目Category
Category也叫分类或类目
主要作用是为 没有源代码 的类添加方法。
通过Category添加的方法会成为原类的一部分。从而达到扩展一 类的功能。
Category的定义
新建文件
选择Objective-C Category模板
填写类名和分类名
.h文件添加方法声明
.m添加方法实现
需要使用的地方进行调用。
Category的声明
NSString+SayHi.h文件
@interface NSString (SayHi)
- (void)hi;
@end
Category的实现
NSString+SayHi.m文件
#import “NSString+SayHi.h”
@implementation NSString(SayHi)
- (void)hi{
NSLog(@”这是通过category为NSString添加的hi方法”);
}
@end
转载于:https://blog.51cto.com/liuyafang/1543780
用category重写NSMutableArray排序,倒序相关推荐
- 【转】 [C/OC的那点事儿]NSMutableArray排序的三种实现(依赖学生成绩管理系统).
原文网址:http://blog.csdn.net/ministarler/article/details/17018839 c语言实现的学生成绩管理系统是面向过程的,而OC实现的学生成绩管理系统则是 ...
- Axhub Charts学习记录贴-条形图添加正序排序/倒序排序功能
axure中添加条形图与两个按钮,为方便操作,为按钮分别命名为"正序排序""倒序排序" 为按钮添加单击交互事件,选择"更新行",目标对象选择 ...
- python逆序排序_python排序倒序
Python编程中常用的12种基础知识 Python编程中常用的12种基础知识,其中肯定有你不会的! 1.正则表达式替换 目标: 将字符串line中的 overview.gif 替换成其他字符串 2. ...
- python倒序排列_python排序倒序
Python编程中常用的12种基础知识 Python编程中常用的12种基础知识,其中肯定有你不会的! 1.正则表达式替换 目标: 将字符串line中的 overview.gif 替换成其他字符串 2. ...
- NSMutableArray 排序
NSMutableArray *array1=[NSMutableArray arrayWithObjects:@"1",@"3",@"2" ...
- Foundation 框架 NSArray、NSMutableArray排序
一.使用selector对数组进行排序(无返回) 数组 book 中包含 AddressCard对象. 1.对数组调用 sortUsingSelector方法 1 -(void) sortByName ...
- JavaScript对数组操作。添加/删除/截取/排序/倒序
js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...
- Java 重写ArrayList排序
//排序 Collections.sort(mapCountList,new Comparator<MapCount>() { @Override public int comp ...
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间.按文件名排序.在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常 ...
- Category 的一些事
来源:伯乐在线 - Tsui YuenHong 链接:http://ios.jobbole.com/90422/ 点击 → 申请加入伯乐在线专栏作者 新增实践部分:偏方 Hook 进某些方法来添加功能 ...
最新文章
- JSP笔记-点击量统计
- iOS Extension 里的方法不执行
- 图片Alpha预乘的作用[转]
- 机房防雷接地的黄铜排(黄铜带)与紫铜排(紫铜带)的区别与应用
- POJ-1384 Piggy-Bank 多重背包变形
- 快了!CVPR 2019 所有录用论文题目列表刊出,即将开放下载!
- (13) css浮动补充
- 【机器学习】集成学习--随机森林(Random Forest)
- 谱比法计算岩石的品质因子的c语言程序,地层品质因子计算方法及系统与流程...
- jdbc oracle clob blob long类型数据
- 数据结构实验病毒感染检测问题(C++)
- VMware esxi在线增加Linux LVM硬盘不需重新启动
- JavaSwing订餐管理系统
- html怎么制作图片按钮效果,如何制作一个漂亮的 CSS 按钮
- 【Qt】Qt项目打包
- Notepad++ 无法安装 HexEditor 插件 / 安装之后闪退
- setTimeout 实现 setInterval
- 全数字锁相环基本原理讲解
- python 踩坑之解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you insta
- 云计算的云指的是什么?通俗解释云计算能做什么