社区
iOS
帖子详情
关于NSDictionary排序
z153300230
2016-01-06 04:16:13
keysSortedByValueUsingSelector 这个函数到底怎么排序的,有时候排序成功由大到小,然后换几个键值,直接不排了
好晕
...全文
76
3
打赏
收藏
关于NSDictionary排序
keysSortedByValueUsingSelector 这个函数到底怎么排序的,有时候排序成功由大到小,然后换几个键值,直接不排了 好晕
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tcmakebest
2016-01-06
打赏
举报
回复
换了键值那得重新排序,楼主不会是幻想什么自动排序吧
不担心
2016-01-06
打赏
举报
回复
没怎么用过,看这个方法的字面意思应该是根据值value来排序的吧,你看的可能是key的顺序
z153300230
2016-01-06
打赏
举报
回复
比如说顺序输入键 name age 排序后输出: age name 然后把age改成zge; 还是输出 zge name = =
基于FMDB数据库操作类PYFMDB.zip
前言之前是一直做web开发,对于做web开发的人而言一定熟悉各种ORM,各种语言针对mysql的ORM有很多,比如PHP的各类框架yii,thinkphp,laravel,ruby语言的rails, GO语言的beego等,IOS开发则面对的数据库是sqlite。FMDB 是基于sqlite的数据库操作类,稳定,但用起来还是不够简洁,PYFMDB是基于FMDB的更高层次的数据库操作类。程序介绍 PYFMDB分为三部分,PYFMDB 基于FMDB负责数据库底层操作处理,PYTable是自定义Table的基类,提供基于具体数据库表的操作,是更高层次的封装PYFMDB,PYStructure是定义数据库表结构处理类。快速入门导入PYFMDB你可以在 Podfile 中加入下面一行代码来使用PYFMDBpod 'PYFMDB'创建自定义Table类创建一个Table类继承PYTable,例如演示代码中创建了CarTable类。设置数据库表名在CarTable.m 中 重写如下方法:-(NSString *)tableName{ return @"car"; }设置数据库表结构 在CarTable.m 中 重写如下方法:-(PYStructure *)structure{ PYStructure * st = [[PYStructure alloc] init]; [st addWithField:@"id" andType:PYStructureTypeAutoInc]; [st addWithField:@"name" andType:PYStructureTypeNormalText]; [st addWithField:@"wheels" andType:PYStructureTypeNormalInt]; return st; }PYStructureType PYStructureTypeAutoInc = 0,//主键,int类型,自增 PYStructureTypePrimaryInt = 1,//主键,int类型,自增 PYStructureTypePrimaryText = 2,//主键,text类型 PYStructureTypeNormalInt = 3,//普通列,int类型 PYStructureTypeNormalText = 4,//普通列,text类型CarTable *table = [[CarTable alloc] init];新增数据普通新增数据
NSDictionary
*fields = @{@"name":@"宝马",@"wheels":@1}; [table addFields:fields];新增或者更新数据【判断数据是否已存在,存在则更新数据,不存在则新增数据】
NSDictionary
*fields = @{@"name":@"宝马",@"wheels":@1}; [table addOrUpdateFields:fields andWhere:@"name='\u5b9d\u9a6c'"];判断是否已经存在数据,仅不存在数据时更新数据
NSDictionary
*fields = @{@"name":@"宝马",@"wheels":@1}; [table addFieldsIfNotExist:fields];删除数据指定字段删除NSString *where = @"name='\u5b9d\u9a6c'"; [table deleteWithWhere:where];多种条件删除NSString *where = @"name='\u5b9d\u9a6c' and id >=5"; [table deleteWithWhere:where];清空数据表[table truncate];更新数据更新多个字段NSString *where = @"name='\u5b9d\u9a6c'";
NSDictionary
*fields = @{@"name":@"奔驰",@"wheels":@2}; [table updateFields:fields andWhere:where];更新1个字段[table setField:@"name" andValue:@"奔驰" andWhere:@"name='\u5b9d\u9a6c'"];查询数据查询表全部数据,全部字段,返回的结果为NSArrayNSArray *results = [table selectAll];按条件查询数据,全部字段,返回的结果为NSArrayNSString *where = @"name='\u5b9d\u9a6c'"; NSArray *results = [table selectWithWhere:where];按条件查询数据,指定字段,返回结果为NSArray 多个字段用半角逗号隔开NSString *where = @"name='\u5b9d\u9a6c'"; NSString *fields = @"id,wheels"; NSArray *results = [table selectWithWhere:where andFields:fields];按条件查询数据,指定字段,设置分页,返回结果为NSArray 要查询全部字段时 用 * 代表查询全部字段NSString *where = @"name='\u5b9d\u9a6c'"; NSString *fields = @"id,wheels"; //NSString *fields = @"*"; NSArray *results = [table selectWithWhere:where andFields:fields andPage:1 andPageSize:10];//取第一页,每页10条按条件查询数据,指定字段,设置分页,设置
排序
,返回结果为NSArray
排序
中 desc 代表 降序,asc代表升序 单个字段
排序
如 id desc 多个字段
排序
如 id,wheel ascNSString *where = @"name='\u5b9d\u9a6c'"; NSString *fields = @"id,wheels"; //NSString *fields = @"*"; NSArray *results = [table selectWithWhere:where andFields:fields andPage:1 andPageSize:10 andOrder:@"id desc"];按条件查询单行数据,返回结果为
NSDictionary
NSString *where = @"name='\u5b9d\u9a6c'";
NSDictionary
*result = [table findWithWhere:where];按条件查询单行单个字段数据,返回结果为id类型id result = [table getField:@"name" andWhere:@"id=1"];NSUInteger tableCount = [table count];判断表是否为空if([table isEmpty]){ //table is empty }判断数据是否存在
NSDictionary
*fields = @{@"name":@"宝马",@"wheels":@1}; if([table hasFields:fields]){ //数据已存在 }判断where查询是否有数据if([table hasWhere:@"name='\u5b9d\u9a6c'"]){ //有查询结果 }原生sql支持执行一个sql查询NSString *sql = @"select * from car"; NSArray *results = [table executeQueryWithSql:sql];执行一个sql操作,如更新,删除,插入等NSString *sql = @"delete from car where name='BMW'"; BOOL result = [table executeUpdateWithSql:sql];调试信息NSLog(@"dbpath:%@",table.databasePath);//数据库位置 NSLog(@"lastSql:%@",table.lastSql);//最后执行的sql NSLog(@"dbname:%@",table.databaseName);//数据库名 NSLog(@"tablename:%@",table.tableName);//数据表名 NSLog(@"table structure:%@",table.structure.structureDictory);//数据表结构 NSLog(@"table fields:%@",table.structure.fieldsString);//数据表字段 标签:PYFMDB
汉字转换成拼音首字母
源码PPTranslator,在iOS开发过程中,经常会遇到汉字拼音
排序
,特别是通讯录类应用,那么汉字转拼音首字母的接口就必不可少了,这里开源下我自己封装的库. 1. 使用说明 该库使用起来非常容易,只需3步 步骤1 - 拷贝 拷贝PPTranslator/PPTranslator文件夹到您的工程目录中 步骤2 - 引用头文件 #import "PPTranslator.h" 步骤3 - 使用 [@"您好" translatorToPinYinFirstAscii]; 2. 关于汉字数 该库支持2W多汉字,可以说容纳了所有常见字,因此不用担心某些汉字转换不了的问题. 3. 关于效率 该库使用了Apple的
NSDictionary
对象进行检索,虽然不知道内部是用了什么算法,但Apple一向精益求精,因此效率应该不是问题.
data_structures
这个项目是个人项目,旨在增加我对数据结构和作用于它们的算法的理解。 基本思想是实现每个通用的数据结构; 确定插入、删除和查找每个值的最坏、平均和最佳情况时间复杂度; 并确定对它们起作用的算法(特别是
排序
算法)的最坏、平均和最佳情况时间复杂度。 我将按顺序实现每个数据结构: Ruby 目标-C Java 二郎 C++ 我将在每种语言中实现每个数据结构两次, 一旦使用语言的标准库(Ruby 中的哈希,Objective-C 中的
NSDictionary
等) 第二次只使用语言原语(没有库)(数组是可以接受的) 要实现: 线性数据结构 数组 数组(通常是一种语言原语 - 不会自己实现) 双向映射(开始实施,但决定首先了解有关结构的更多信息以支持它) 位数组 位域 位板 位图 循环缓冲区 对照表 图像 动态数组(向量或数组列表) 间隙缓冲器 哈希数组树 高度图 查找表 矩
重要经验六
NSDictionary
排序
集合类,比如NSArrray
NSDictionary
排序
按
NSDictionary
的key来对其进行
排序
: 先将dict的allkeys赋给一个数组,然后通过sortedArrayUsingComparator:方法对数组
排序
,然后遍历数组取字典对应key的值就ok int i = 0; NSArray *keys = [dict allKeys]; NSArray *sortedArray = [keys ...
iOS
29,028
社区成员
12,466
社区内容
发帖
与我相关
我的任务
iOS
主要讨论与iOS相关的软件和技术
复制链接
扫一扫
分享
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章