- Chapter 09 - NSUndoManager (C#实现 + 全网原创)
dalgleish
此例子针对NSDocument实现了tableview每一行添加/删除的undo/redo,以及每一个单元格内容编辑的undo/redo。基于NSDocument类的实现。PersonModel+NSMutableArray和前面的例子是一样的,就不重复贴了。采用ArrayControlle
- NSUndoManager
iOS_愛OS
NSUndoManager体系demo地址NSUndoManager官方文档NSUndoManager可撤销操作,也可以逆向撤销操作undo操作包含在undo操作组中,也可以用undo操作组中的动作做逆向undo操作。这个操作组存储在栈中。undomanager执行时候方法undo或者redo时,实际上就是在执行undo操作组中的操作。例如:用户可以改变文字的字体和字体大小,应用程序会囊括所有的字
- iOS开发-NSUndoManager撤销(undo)和重做(redo)
weixin_34138521
程序开发中我们经常会用到的两个快捷键Ctrl+Z和Ctrl+C,撤销和复制,Cocoa开发也可以实现这两个操作,为我们提供非常简单的操作类NSUndoManger,也可以称之为撤销管理器,NSUndoManger内部维护两个栈,undo栈和redo栈。创建一个可撤销的操作需要创建一个逆向的操作,然后通过逆向的操作达到做出对应的改变,实现起来非常简单。首先我们来看一个非常简单的例子:12345678
- IOS深入学习(26)之Undo manage
Vicent_Z
IOS深入学习
1前言本节主要介绍了撤销和重做的原理,使用方法和主要用处。转载请注明出处:http://blog.csdn.net/developer_zhang。2详述undomanager是一个记录对象状态的变化和根据之后用户的请求取消这些变化的框架对象。undomanager,是一个NSUndoManager类的实例,来管理撤销和重做操作。一个撤销操作撤销一个对象属性的变化;重做操作存储了最初的值如果撤销操
- IOS 之 NSUndoManager撤销与恢复系列
人生如游戏---
IOS开发技术
IOS提供了撤销与恢复操作的类NSUndoManager,使用比较简单.NSUndoManager是UIResponder的成员变量所以说只要是UIResponder的子类都拥有NSUndoManager.再来就是介绍一下NSInvocation类的作用.在iOS中可以直接调用某个对象的消息方式有2种.一种是performSelector:withObject:方式比较简单,能完成简单的调用.再一
- NSUndoManager的使用
JonnyLan
Foundation
当我们犯错的时候,系统给了我们犯错悔改的机会,系统提供了让我们回复或者重做的API---NSUndoManager.NSUndoManager的基本原理是其中有两个栈---取消操作的栈和重做操作的栈,栈里面装的是NSInvocation对象。当执行一些特定操作后,在取消栈中压入NSInvocation,其中封装了消息的消息接受者,方法和参数等。当取消操作时,执行取消栈上栈顶的NSInvocatio
- NSUndoManager 的 removeAllActions 方法失败问题,[self.undoManager undo]崩溃
iOS大叔
OC语言
NSUndoManager被用做撤消和反撤消功能,具体的用法百度和google就好了。这里主要对我项目中的出现的[self.undoManagerundo];崩溃问题做一个记录。出现的问题是这样的,当第一次进入A界面时,A界面的地址为0x123,这时我做了2步操作,可以进行两次[self.undoManagerundo]。问题从这里产生,如果退出界面前,我没有清掉撤消栈的内容,撤消栈的内容是一直保
- 使用 NSUndoManager 来进行撤销和重做
梁杰_numbbbbb
作者:TomaszSzulc,原文链接,原文日期:2015-09-13译者:Yake;校对:numbbbbb;定稿:在相当长的一段时间内NSUndoManager对我来说都是一个很神秘的东西。我想学习使用它,但是一直没有时间。一直到今天,我写了一个简单的应用,这个应用创建了一个可以移动的矩形,并且还可以修改矩形的属性,例如背景色或者圆角。你可以在这儿获取到示例应用这儿是一段小视频,你可以看看这个示
- iOS-NSUndoManager与怎样弄崩微信
cocoa
序检查项目bug的时候偶然发现,做过限制(比如说字数、表情)的textField、textView,触发限制条件后,会在使用undo功能时crash,之后发现微信也是一样的。有朋友问在哪里崩了,不能复现,我举几个例子,其实有字数限制的输入框应该都有问题我->个人信息->我的地址->新增地址我->个人信息->名字我->个人信息->个性签名随便试了试qq、yy、、喜马拉雅的能输入汉字的输入框的字数限制
- NSUndoManager
_健健
-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.self.undoManager_=[[NSUndoManageralloc]init];self.array=@[].mutableCopy;[_undoManager_registerUndoWith
- iOS UITextView 首行缩进 撤销输入 反撤销输入的实现代码
iOS磊咖
最近公司涉及到作家助手的功能,能撤销输入的文字,并能反撤销被撤销掉的文字。该功能类似ios系统的摇一摇撤销输入。当时也特迷茫,不知道从何下手,后来搜索了大量的资料,终于完成了这个功能,现在就将该功能的实现写出来,共勉。这个功能涉及到ios原生类:NSUndomanager。这个类挺强大。废话不多说,直接上代码。#import"ViewController.h"@interfaceViewContr
- iOS UITextView 首行缩进 撤销输入 反撤销输入的实现
iOS磊咖
最近公司涉及到作家助手的功能,能撤销输入的文字,并能反撤销被撤销掉的文字。该功能类似ios系统的摇一摇撤销输入。当时也特迷茫,不知道从何下手,后来搜索了大量的资料,终于完成了这个功能,现在就将该功能的实现写出来,共勉。这个功能涉及到ios原生类:NSUndomanager。这个类挺强大。废话不多说,直接上代码。#import"ViewController.h"@interfaceViewContr
- NSUndoManager --- 公共的事件撤销管理者
HarrySun_SH
iOS项目开发
demo网址:NSUndoManager下载我的个人博客:http://blog.csdn.net/FloatingDreamSH我的Github:https://github.com#pragmamark-先将此视图放在UINavigationController中////ViewController.m//NSUndoManager////CreatedbyHarrySunon16/7/28.
- iOS开发中的NSUndoManager的undo/redo功能(一颗后悔药)
luguoliang
前言:以前保存账户登录数据时用过一次CoreData,最近在研究CoreData官方demo(CoreDataBooks)的时候,发现了一个有意思的功能undo/redo,也就是给我们弥补犯下犯错的功能,去年在公司做个一个收银台的功能,到现在还记得在深入三层选择支付方式(红包,银行卡,余额的排列组合)时,用户操作产生的临时数据到底在什么时候和model中的数据同步而纠结的事。隐隐的觉得这个撤消/重
- Undo Architecture
Architecture
【Undo Architecture】
NSUndoManager is a general-purpose recorder of operations for undo and redo. NSUndoManager是一个通常目的操作记录器用于实现undo和redo。
When you perform an action that changes the property valu
- Cocoa中的NSUndoManager
Cruise_Chan
nsundomanagercocoanshipster
原文链接:http://nshipster.com/nsundomanager/前言Foundation框架中的NSUndoManager为我们提供了去撤销与重复操作的健壮API。默认的话,每个应用窗口都有一个撤销管理者,并且在响应者链的任意对象可以管理一个自定义的撤销管理从而实现对本地各自视图撤销和重复操作。除了UITextField和UITextArea自动配有撤销功能之外,其余对苹果开发者都
- NSUndoManager的一点学习记录
woshiwls
iosredoundoNSUndoManager
这两天看了一个coredata的官方代码,发现了里面的NSUndoManager类,就稍微的研究了一下.下面是我的一点学习记录NSUndoManager说白了主要就是2个方法,一个是redo,一个是undo,也就是对程序的撤销和恢复
-(void)undo
{
[self.undoManageundo];
}
-(void)redo
{
[self.undoManageredo];
}它里面有一
- IOS开发之Cocoa编程—— NSUndoManager
lengshengren
ios
在Cocoa中使用NSUndoManager可以很方便的完成撤销操作。NSUndoManager会记录下修改、撤销操作的消息。这个机制使用两个NSInvocation对象栈。 NSInvocation会把消息(选择器和接受者及参数)包装成一个对象,这个对象就是NSInvocation的实例。当一个对象收到它不理解的消息时,消息发送机制会在报出错误前检查该对象是否实现了forwardInvoca
- IOS深入学习(26)之Undo manage
u010013695
iosredoundo撤销重做
1前言 本节主要介绍了撤销和重做的原理,使用方法和主要用处。 转载请注明出处:http://blog.csdn.net/developer_zhang。2详述 undomanager是一个记录对象状态的变化和根据之后用户的请求取消这些变化的框架对象。undomanager,是一个NSUndoManager类的实例,来管理撤销和重做操作。一个撤销操作撤销一个对象属性的变化;重做操作存储了最初的值如果
- [ios2]NSUndoManager 【转】
happyrabbit456
在Cocoa中使用NSUndoManager可以很方便的完成撤销操作。NSUndoManager会记录下修改、撤销操作的消息。这个机制使用两个NSInvocation对象栈。 NSInvocation会把消息(选择器和接受者及参数)包装成一个对象,这个对象就是NSInvocation的实例。当一个对象收到它不理解的消息时,消息发送机制会在报出错误前检查该对象是否实现了forwardInvoca
- NSUndoManager Demo
iosCode
demoNSUndoManager
有关NSUndoManager的简单demo。本代码适合开发新手学习NSUndoManager的用法。 测试方式:点击“add”按钮,增加一些数值,NSUndoManager会记录点击的次数。点击“undo”按钮,每次撤销一次“add”的事件。点击“redo”,每次重做一次被撤销的“add”事件。 Code4App编译测试,测试环境:Xcode4.5,iOS5.0以上。
- NSUndoManager
dean19900504
使用NSUndoManaer,我们可以给程序以一种优雅的风格添加undo功能.undo管理器跟踪管理一个对象的添加,编辑和删除.这些消息将会发送给undo管理器去做undo.而当我们请求做undo操作时,undo管理器也会跟踪这些消息,这些消息会被记录用来做redo.该机制使用两个NSInvocation对像堆栈来实现.在这么早就讨论这个主题是相当沉重的.(有时候一说起undo.我的头就有点大.)
- NSInvocation和NSUndoManager的关系
dongdongdongJL
htmlobjectcmd文档insertfun
NSInvocation是一个非常特别的对象,这个对象将一个对象的消息(通常在其他语言中我们称之为函数)封装成一个对象。然后在不同的对象之间进行传递。一个比较典型的场景是说,当一个对象在被调用一个他并不是别的消息(函数)时,他会查找他的forwardInvocation方法,如果实现了forwardInvocation方法,那么在这个方法当中,会将不能够被识别的消息,封装为NSInvocation
- IOS开发之Cocoa编程—— NSUndoManager
pjk1129
ios编程工作cocoainsert
在Cocoa中使用NSUndoManager可以很方便的完成撤销操作。NSUndoManager会记录下修改、撤销操作的消息。这个机制使用两个NSInvocation对象栈。 NSInvocation会把消息(选择器和接受者及参数)包装成一个对象,这个对象就是NSInvocation的实例。当一个对象收到它不理解的消息时,消息发送机制会在报出错误前检查该对象是否实现了forwardInvoca
- NSUndoManager
pkukevin
managerdeleteinsertinterfaceDictionaryaccessor
使用NSUndoManaer,我们可以给程序以一种优雅的风格添加undo功能.undo管理器跟踪管理一个对象的添加,编辑和删除.这些消息将会发送给undo管理器去做undo.而当我们请求做undo操作时,undo管理器也会跟踪这些消息,这些消息会被记录用来做redo.该机制使用两个NSInvocation对像堆栈来实现.在这么早就讨论这个主题是相当沉重的.(有时候一说起undo.我的头就有点大.)
- Cocoa NSUndoManager (REDO/UNDO)
ydfok
cocoamanagerinsertinterfaceDictionaryaccessor
CocoaNSUndoManager (REDO/UNDO)原文: http://blog.sina.com.cn/s/blog_5df7dcaf0100bp8w.html NSUndoManager 使用NSUndoManaer,我们可以给程序以一种优雅的风格添加undo功能.undo管理器跟踪管理一个对象的添加,编辑和删除.这些消息将会发送给undo管理器去做undo.而当我们请求做undo操
- Java 并发包之线程池和原子计数
lijingyao8206
Java计数ThreadPool并发包java线程池
对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。
这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁C
- java编程思想 抽象类和接口
百合不是茶
java抽象类接口
接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface;
- [房地产与大数据]房地产数据挖掘系统
comsci
数据挖掘
随着一个关键核心技术的突破,我们已经是独立自主的开发某些先进模块,但是要完全实现,还需要一定的时间...
所以,除了代码工作以外,我们还需要关心一下非技术领域的事件..比如说房地产
&nb
- 数组队列总结
沐刃青蛟
数组队列
数组队列是一种大小可以改变,类型没有定死的类似数组的工具。不过与数组相比,它更具有灵活性。因为它不但不用担心越界问题,而且因为泛型(类似c++中模板的东西)的存在而支持各种类型。
以下是数组队列的功能实现代码:
import List.Student;
public class
- Oracle存储过程无法编译的解决方法
IT独行者
oracle存储过程
今天同事修改Oracle存储过程又导致2个过程无法被编译,流程规范上的东西,Dave 这里不多说,看看怎么解决问题。
1. 查看无效对象
XEZF@xezf(qs-xezf-db1)> select object_name,object_type,status from all_objects where status='IN
- 重装系统之后oracle恢复
文强chu
oracle
前几天正在使用电脑,没有暂停oracle的各种服务。
突然win8.1系统奔溃,无法修复,开机时系统 提示正在搜集错误信息,然后再开机,再提示的无限循环中。
无耐我拿出系统u盘 准备重装系统,没想到竟然无法从u盘引导成功。
晚上到外面早了一家修电脑店,让人家给装了个系统,并且那哥们在我没反应过来的时候,
直接把我的c盘给格式化了 并且清理了注册表,再装系统。
然后的结果就是我的oracl
- python学习二( 一些基础语法)
小桔子
pthon基础语法
紧接着把!昨天没看继续看django 官方教程,学了下python的基本语法 与c类语言还是有些小差别:
1.ptyhon的源文件以UTF-8编码格式
2.
/ 除 结果浮点型
// 除 结果整形
% 除 取余数
* 乘
** 乘方 eg 5**2 结果是5的2次方25
_&
- svn 常用命令
aichenglong
SVN版本回退
1 svn回退版本
1)在window中选择log,根据想要回退的内容,选择revert this version或revert chanages from this version
两者的区别:
revert this version:表示回退到当前版本(该版本后的版本全部作废)
revert chanages from this versio
- 某小公司面试归来
alafqq
面试
先填单子,还要写笔试题,我以时间为急,拒绝了它。。时间宝贵。
老拿这些对付毕业生的东东来吓唬我。。
面试官很刁难,问了几个问题,记录下;
1,包的范围。。。public,private,protect. --悲剧了
2,hashcode方法和equals方法的区别。谁覆盖谁.结果,他说我说反了。
3,最恶心的一道题,抽象类继承抽象类吗?(察,一般它都是被继承的啊)
4,stru
- 动态数组的存储速度比较 集合框架
百合不是茶
集合框架
集合框架:
自定义数据结构(增删改查等)
package 数组;
/**
* 创建动态数组
* @author 百合
*
*/
public class ArrayDemo{
//定义一个数组来存放数据
String[] src = new String[0];
/**
* 增加元素加入容器
* @param s要加入容器
- 用JS实现一个JS对象,对象里有两个属性一个方法
bijian1013
js对象
<html>
<head>
</head>
<body>
用js代码实现一个js对象,对象里有两个属性,一个方法
</body>
<script>
var obj={a:'1234567',b:'bbbbbbbbbb',c:function(x){
- 探索JUnit4扩展:使用Rule
bijian1013
java单元测试JUnitRule
在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。
1. Rule
&n
- [Gson一]非泛型POJO对象的反序列化
bit1129
POJO
当要将JSON数据串反序列化自身为非泛型的POJO时,使用Gson.fromJson(String, Class)方法。自身为非泛型的POJO的包括两种:
1. POJO对象不包含任何泛型的字段
2. POJO对象包含泛型字段,例如泛型集合或者泛型类
Data类 a.不是泛型类, b.Data中的集合List和Map都是泛型的 c.Data中不包含其它的POJO
- 【Kakfa五】Kafka Producer和Consumer基本使用
bit1129
kafka
0.Kafka服务器的配置
一个Broker,
一个Topic
Topic中只有一个Partition() 1. Producer:
package kafka.examples.producers;
import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
impor
- lsyncd实时同步搭建指南——取代rsync+inotify
ronin47
1. 几大实时同步工具比较 1.1 inotify + rsync
最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotify
- java-9. 判断整数序列是不是二元查找树的后序遍历结果
bylijinnan
java
public class IsBinTreePostTraverse{
static boolean isBSTPostOrder(int[] a){
if(a==null){
return false;
}
/*1.只有一个结点时,肯定是查找树
*2.只有两个结点时,肯定是查找树。例如{5,6}对应的BST是 6 {6,5}对应的BST是
- MySQL的sum函数返回的类型
bylijinnan
javaspringsqlmysqljdbc
今天项目切换数据库时,出错
访问数据库的代码大概是这样:
String sql = "select sum(number) as sumNumberOfOneDay from tableName";
List<Map> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows
- java设计模式之单例模式
chicony
java设计模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的:
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构
单例模式的特点:
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其他对象提供这一实例。
饿汉式单例类
publ
- javascript取当月最后一天
ctrain
JavaScript
<!--javascript取当月最后一天-->
<script language=javascript>
var current = new Date();
var year = current.getYear();
var month = current.getMonth();
showMonthLastDay(year, mont
- linux tune2fs命令详解
daizj
linuxtune2fs查看系统文件块信息
一.简介:
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
二.用法:
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g grou
- 做有中国特色的程序员
dcj3sjt126com
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有
- Android:TextView属性大全
dcj3sjt126com
textview
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输
- tomcat虚拟目录安装及其配置
eksliang
tomcat配置说明tomca部署web应用tomcat虚拟目录安装
转载请出自出处:http://eksliang.iteye.com/blog/2097184
1.-------------------------------------------tomcat 目录结构
config:存放tomcat的配置文件
temp :存放tomcat跑起来后存放临时文件用的
work : 当第一次访问应用中的jsp
- 浅谈:APP有哪些常被黑客利用的安全漏洞
gg163
APP
首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于Android 系统的开源设计以及生态环境。
1. 应用反编译漏洞:APK 包非常容易被反编译成可读
- C#根据网址生成静态页面
hvt
Web.netC#asp.nethovertree
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件是后台管理的首页。包含生成留言板首页,以及显示用户名,退出等功能。根据网址生成页面的方法:
bool CreateHtmlFile(string url, string path)
{
//http://keleyi.com/a/bjae/3d10wfax.htm
stri
- SVG 教程 (一)
天梯梦
svg
SVG 简介
SVG 是使用 XML 来描述二维图形和绘图程序的语言。 学习之前应具备的基础知识:
继续学习之前,你应该对以下内容有基本的了解:
HTML
XML 基础
如果希望首先学习这些内容,请在本站的首页选择相应的教程。 什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量
- 一个简单的java栈
luyulong
java数据结构栈
public class MyStack {
private long[] arr;
private int top;
public MyStack() {
arr = new long[10];
top = -1;
}
public MyStack(int maxsize) {
arr = new long[maxsize];
top
- 基础数据结构和算法八:Binary search
sunwinner
AlgorithmBinary search
Binary search needs an ordered array so that it can use array indexing to dramatically reduce the number of compares required for each search, using the classic and venerable binary search algori
- 12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
刘星宇
c面试
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
1.gets()函数
问:请找出下面代码里的问题:
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
- ITeye 7月技术图书有奖试读获奖名单公布
ITeye管理员
活动ITeye试读
ITeye携手人民邮电出版社图灵教育共同举办的7月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
7月试读活动回顾:
http://webmaster.iteye.com/blog/2092746
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《Java性能优化权威指南》