(1)第一步设置一下button
IBOutlet NSButton * nameOrderBT;
IBOutlet NSButton * sizeOrderBT;
(2)切换设置切换相遇函数
-(IBAction) nameOrderAction:(id)sender
{
[sizeOrderBT setTitle:@"Width"];
if ([nameOrderBT.title isEqualToString:@"Name⬆️"])
{
[nameOrderBT setTitle:@"Name⬇️"];
_itemOrder=RFICONMODEL_ORDER_FILENAME_DESC;
}
else{
[nameOrderBT setTitle:@"Name⬆️"];
_itemOrder=RFICONMODEL_ORDER_FILENAME_ASC;
}
[self updateTable];
return;
}
-(IBAction) sizeOrderAction:(id)sender
{
[nameOrderBT setTitle:@"Name"];
if ([sizeOrderBT.title isEqualToString:@"Width⬆️"])
{
[sizeOrderBT setTitle:@"Width⬇️"];
_itemOrder=RFICONMODEL_ORDER_IMAGEWIDTH_DESC;
}
else{
[sizeOrderBT setTitle:@"Width⬆️"];
_itemOrder=RFICONMODEL_ORDER_IMAGEWIDTH_ASC;
}
[self updateTable];
return;
}
(3)设置item获取顺序
{
if (_itemOrder==nil) {
_itemOrder=@"";
}
return _itemOrder;
}
-(NSMutableArray*) getItemsArray
{
if (itemsArray==nil) {
itemsArray=[NSMutableArray array];
//NSArray * modelArray=[RFIConModel getItemByGroupName:[self getGroupNameBySafe]];
NSArray * modelArray=[RFIConModel getItemByGroupName:[self getGroupNameBySafe] order:[self getItemOrderBySafe]];
for (RFIConModel * model in modelArray) {
ItemPreCellVC * oneVC=[[ItemPreCellVC alloc] init];
oneVC.itemModel=model;
[itemsArray addObject:oneVC];
}
}
return itemsArray;
}
其中[RFIConModel getItemByGroupName:[self getGroupNameBySafe] order:[self getItemOrderBySafe]]是order关键,这样只需设施一下itemOrder,就可自动更新内容了。
开发笔记之NSTable 排序的更多相关文章
-
李兴华JavaWeb开发笔记
李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...
-
Java开发笔记(九十)对象序列化及其读写
有些时候,开发者想把程序运行过程中的数据临时保存到文件,可是前面介绍的字符流和字节流,要么用来读写文本字符串,要么用来读写字节数组,并不能直接保存某个对象信息,因为对象里面包括成员属性和成员方法,单就 ...
-
Java开发笔记(二十三)数组工具Arrays
数组作为一种组合形式的数据类型,必然要求提供一些处理数组的简便办法,包括数组比较.数组复制.数组排序等等.为此Java专门设计了Arrays工具,该工具包含了几个常用方法,方便程序员对数组进行加工操作 ...
-
Java开发笔记(五十)几种开放性修饰符
前面介绍子类继承父类的时候,提到了public(公共)和private(私有)两个修饰符,其中public表示它所修饰的实体是允许外部访问的:而private表示它所修饰的实体不允许外部访问,只能在当 ...
-
Java开发笔记(六十)匿名内部类的优势
前面依次介绍了简单接口和扩展接口,给出的范例都是自定义的接口代码,其实Java系统本身就自带了若干行为接口,为了更好地理解系统接口的详细用法,接下来还是从一个基础的例子出发,抽丝剥茧地逐步说明接口的几 ...
-
Java开发笔记(六十一)Lambda表达式
前面介绍了匿名内部类的简单用法,通过在sort方法中运用匿名内部类,不但能够简化代码数量,还能保持业务代码的连续性.只是匿名内部类的结构仍显啰嗦,虽然它省去了内部类的名称,但是花括号里面的方法定义代码 ...
-
Java开发笔记(六十二)如何定义函数式接口
前面介绍了Lambda表达式的用法,从实践中发现它确实极大地方便了开发者,然而不管是匿名内部类还是Lambda表达式,所举的例子都离不开各类数组的排序方法,倘使Lambda表达式仅能用于sort方法, ...
-
Java开发笔记(六十三)双冒号标记的方法引用
前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...
-
Java开发笔记(六十五)集合:HashSet和TreeSet
对于相同类型的一组数据,虽然Java已经提供了数组加以表达,但是数组的结构实在太简单了,第一它无法直接添加新元素,第二它只能按照线性排列,故而数组用于基本的操作倒还凑合,若要用于复杂的处理就无法胜任了 ...
随机推荐
-
scikit-learn 和pandas 基于windows单机机器学习环境的搭建
很多朋友想学习机器学习,却苦于环境的搭建,这里给出windows上scikit-learn研究开发环境的搭建步骤. Step 1. Python的安装 python有2.x和3.x的版本之分,但是很多 ...
-
THE SENSE OF BEAUTY
#include<stdio.h> int main() { ][] = { " ,.:;j", " ,: i. .,:;ff", " : ...
-
POJ 2240 &;&; ZOJ 1082 Arbitrage 最短路,c++ stl pass g++ tle 难度:0
http://poj.org/problem?id=2240 用log化乘法为加法找正圈 c++ 110ms,g++tle #include <string> #include <m ...
-
详解Ossim 4.3控制台
在Ossim 4.2以后的发行版中增加了控制台功能下面加以详细说明,当Ossim 启动之后,在控制台以root身份登录系统后会执行ossim-setup脚本,然后显示如下图1所示,了解这些功能,以及操 ...
-
Unity3d:加载Format是RGB24位的图片失败(加载图片显示问号)
问题描述:加载图片显示是个红色的问号,调试发现,Texture的Format=RGB24的都加载失败,ARGB32位的都能成功,按照常规,首先去度娘,看是否有人遇到和我同样的问题,结果一无所获.将用N ...
-
css清除浮动的几种方法整理
四种清除浮动方法如下: 1.使用空标签清除浮动.空标签可以是div标签,也可以是P 标签.这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签 清除浮动,并为其定义CSS代码:cle ...
-
[C#错误]	未找到类型或命名空间名称"; "; (是否缺少 using 指令或程序集引用?)
现象:编译项目时提示未找到类型或命名空间名称" " (是否缺少 using 指令或程序集引用?)解决方法:如果是未找到类型,检查是否引用了类型所在的命名空间,使用using指令.如 ...
-
高并发数据库之MySql性能优化
1.慢查询 SHOW VARIABLES LIKE '%quer%'
-
使用hashCode()和equals()方法 - Java
在这篇文章中,我将指出我对hashCode()和equals()方法的理解.我将讨论它们的默认实现以及如何正确地覆盖它们.我还将使用Apache Commons包中的实用工具类来实现这些方法. has ...
-
L1正则化及其推导
\(L1\)正则化及其推导 在机器学习的Loss函数中,通常会添加一些正则化(正则化与一些贝叶斯先验本质上是一致的,比如\(L2\)正则化与高斯先验是一致的.\(L1\)正则化与拉普拉斯先验是一致的等 ...